- 博客(6)
- 资源 (40)
- 收藏
- 关注
原创 FrameWork层WiFi模块架构剖析
1. 系统架构 Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示: 一切尽在上图中,下面将对每部分进行详细分析。 1.1 WifiService 由SystemServer启动的时候生成的
2016-09-11 15:48:29 2824 2
原创 接口定义语言AIDL实现进程间的通信
在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。 AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。关于AIDL的编写规则我在这里
2016-09-10 22:47:00 1247
原创 TCP HTTP UDP 区别(丢掉的计算机网络找回来)
TCP HTTP UDP: 这是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 socket: 这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。 socket只是一种连接模式,不是协议 在c程序中,http
2016-09-04 18:38:58 770
原创 图片加载框架对比分析
glide Google推荐的图片加载库,专注于流畅的滚动。 1.优点 1)使用RGB_565,内存占用比Picasso小一半。 2)图片展示和页面的生命周期一致(对context有类型要求) 3)相比Picasso,Glide在缓存策略和加载GIF方面略胜一筹 减少了缓存文件的大小 Picasso和Glide在磁盘缓存策略上有很大的不同。Picasso缓存的是全尺
2016-09-04 18:37:51 2204
原创 LeakCanary:检测所有的oom
没有人喜欢OutOfMemory崩溃 在Square的注册界面,我们使用bitmap缓存绘制客户的签名,使用的bitmap大小等同于屏幕大小,当创建它时,我们有了大量的OOM崩溃。 我们尝试了一些方法,但是没有一个可以解决问题: 使用Bitmap.Config.ALPHA_8(签名不需要颜色)。捕获OutOfMemoryError,触发GC并多次重试(灵感来源于GCU
2016-09-03 17:06:02 1457 1
原创 RxJava初步探路(基础篇)
RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。 基础 RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以
2016-09-03 11:43:51 822 1
jQuery,JavaScript框架
2019-03-30
jquery easy UI 传智播客 王东 ppt
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人