xiangzhihong8的专栏

技术群:515980159,278792776;招聘群:188716429

Android 网络请求OkHttp3流程分析

基本概念 首先从使用出发,其次再结合源码来分析OkHttp3的内部实现的,建议大家下载 OkHttp 源码跟着本文,过一遍源码。首先来看一下OkHttp3的请求代码。 OkHttpClient client = new OkHttpClient(); String run(String ...

2018-04-27 22:19:36

阅读数 451

评论数 0

视频播放器倍速、清晰度切换、m3u8下载

视频上很容易就可以做到倍速播放,一般的视频格式都是每秒固定的帧数,按比例跳帧就可以了。音频上其实也可以用这种方式来直接删除一些周期,因为电脑里的音频也是数字化离散化地储存的。但是为了使声音不失真,应该都用了稍复杂一点的算法的,比方说把相邻时钟周期内的声音电平信号取平均,或者用高斯平均值代替原信号,...

2018-04-26 10:57:44

阅读数 1264

评论数 0

Android 多级弹窗实现

昨天去一个公司面试,要求实现一个弹窗并实现多选功能,其效果和京东的多级筛选类似。效果如下: 其实现的思路也比较简单,使用PopupWindow负责弹窗显示,PopupWindow主要由列表组成,而具体的子项可以使用GridView实现,我这里使用的的自定义流式布局,自定义FlowLayout...

2018-04-25 13:09:04

阅读数 552

评论数 0

Android 控件之TextureView

TextureView在4.0(API level 14)中引入的,它可以将内容流直接投影到View中,可以用于实现Live preview等功能。和SurfaceView不同,它不会在WMS中单独创建窗口,而是作为View hierachy中的一个普通View,因此可以和其它普通View一样进行...

2018-04-24 11:11:59

阅读数 564

评论数 0

阿里ARouter路由实现Android模块化开发

概述 从 2016 年开始,模块化在 Android 社区越来越多的被提及。随着移动平台的不断发展,移动平台上的软件慢慢走向复杂化,体积也变得臃肿庞大,为了降低大型软件复杂性和耦合度,同时也为了适应模块重用、多团队并行开发测试等等需求,模块化在 Android 平台上变得势在必行。阿里 Andr...

2018-04-23 22:54:08

阅读数 919

评论数 0

WEEX环境搭建与入门

Weex简介 Weex 是阿里前端技术团队开源额一套跨平台开发方案,能以web的开发体验构建高性能、可扩展的 native 应用,Weex 的页面表示层使用 Vue ,并遵循 W3C 标准实现了统一的 JSEngine 和 DOM API,Weex和React Native一样是当前流行的跨平台...

2018-04-18 18:36:56

阅读数 2100

评论数 0

Android之ActivityManagerService启动详解

ActivityManagerService,简称AMS,具有管理Activity行为、控制activity的生命周期、派发消息事件、内存管理等功能,AMS的另外两个重要概念是两大核心功能是WindowManagerService.java和View.java。 分析ActivityManage...

2018-04-18 11:33:20

阅读数 2425

评论数 0

Android Activity启动流程分析

概述 Activity作为Android的四大组件之一,Android主要的界面组成部分,用于直接跟用户进行交互操作,在面试中与Activity相关的知识也是经常被问到,如果你面试的高级岗位,那么对Activity的启动和绘制流程就必须的熟悉,本文将从Activity的启动流程来分析Activi...

2018-04-17 11:29:20

阅读数 2386

评论数 0

使用HttpDns降低DNS劫持风险

基本概念 中国互联网经过这么多年的沉浮,地下黑色产业链已经有了很大的变化。随着免费杀毒软件的流行,中国互联网发生了一些比较明显的变化,比如曾经盗号木马横行,现在就很少见了。但是黑色产业并没有消失,而是转型做起来其他的买卖,比如买卖流量等。 运营商劫持 运营商是指那些提供宽带服务的ISP,包括...

2018-04-16 10:36:54

阅读数 1078

评论数 0

再谈Android Binder跨进程通信原理

在谈Android的跨进程通信问题上时,总会问到Android的IPC机制,是指两个进程之间进行数据交换的过程。按操作系统的中的描述,线程是CPU调度最小的单元,同时线程是一种有限的系统资源,而进程是指一个执行单元,在PC和移动设备上指一个程序或者一个应用。 在谈IPC机制时候核心的就是Bind...

2018-04-13 22:32:24

阅读数 337

评论数 1

浅谈Java动态代理

动态代理其本质是设计模式中的代理模式,主要由抽象角色、代理角色和真实角色组成: 抽象角色(Subject):声明真实对象和代理对象的共同接口,这样可在任何使用真实对象的地方都可以使用代理对象。 代理角色(Proxy):代理对象内部含有真实对象的引用,从而可以在任何时候操作真实对象。代理对象提供...

2018-04-13 10:29:30

阅读数 145

评论数 0

Rxjava和EventBus对比

总的来说,EventBus是一款针对Android优化的发布/订阅事件总线,主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。而Rxjava则是一种基于异步数据流的处理方案。如果一个订阅者需要注册多个事件的时候,R...

2018-04-12 10:40:32

阅读数 1110

评论数 0

人工智能学习笔记

专家系统 人工智能并非专家系统,但是却或多或少的与专家系统有关系,可以说专家系统是人工智能很早期的存在形式。专家系统(ES, Expert System)是一种模拟人类专家解决领域问题的计算机程序系统。 专家系统具有如下的一些特点: 1)知识的汇聚 2)启发性推理 3)推理和解释的透...

2018-04-10 22:56:47

阅读数 1074

评论数 0

利用 Create React Native App 快速创建 React Native 应用

React Native App简介 打开React Native官方文档你会发现,在Getting Started章节下新添加一个Quick Start Tab页。Quick Start是在v0.4.5版本添加的一种快速创建React Native App的方案,旨在为React Native...

2018-04-03 15:03:04

阅读数 369

评论数 0

200G视频自学视频免费领取

从09年兴起的移动互联网,到16年兴起的AI和大数据,近年来,技术的发展可谓日新月异。这里,小编给大家收集了一些热门的最新视频教程,有兴趣的可以学习下,当然有问题还可以加群哦278792776。 视频区 机器学习 链接: https://pan.baidu.com/s/1o9hlR5o ...

2018-04-03 08:33:11

阅读数 2228

评论数 1

TensorFlow第二届开发者峰会

天体物理学家使用 TensorFlow 分析开普勒任务中的大量数据,以发现新的行星; 医学研究人员利用 TensorFlow 机器学习技术来评估一个人心脏病发作和中风的几率; 科学家在非洲用 TensorFlow 检测木薯植物疾病,从而提高产量并帮助更好地满足非洲大陆的粮食需求; …… 这...

2018-04-01 09:23:33

阅读数 526

评论数 0

提示
确定要删除当前文章?
取消 删除