
笔记
simbazou
这个作者很懒,什么都没留下…
展开
-
binder原理
此系列笔记只是为了加深个人记忆,因此比较简单,如有错误欢迎指出Binder远程通信方式,实现了IBinder接口,是ServiceManager连接ActivityManager、WindowManager的桥梁。Binder实现过程:进程通过binder驱动向服务端发送请求,用Parcel传递参数,然后该进程被挂起。BInder驱动向服务端发起请求,得到结果后返回给客户端,并唤醒他。PS:进程会...原创 2018-05-08 10:40:27 · 529 阅读 · 0 评论 -
Handler原理
此系列笔记只是为了加深个人记忆,因为比较简单,如有错误欢迎指出参考链接: http://blog.youkuaiyun.com/guolin_blog/article/details/9991569Handler(通过sendMessageAtTime方法)发送message,messagequeue收集消息排成队列,并提供入队(enqueueMessage)和出队(next)方法。Looper检测到出队消息...原创 2018-05-08 10:43:41 · 127 阅读 · 0 评论 -
MVP模式
model 业务逻辑和实体模型view 一般是activityPresenter 负责完成View于Model间的交互 View跟Presenter交互:抽象出接口,view接受回调,presenter调用Model跟Presenter交互:抽象出接口,Presenter调用,model接受回调然后再实现逻辑,实现完再回调给Presenter,Presenter调用接口通知View ...原创 2018-05-08 10:47:30 · 221 阅读 · 0 评论 -
UI优化
Android系统每隔16ms发出信号,触发ui渲染,帧率60fps,人眼无法感知。渲染超过16ms就会出现掉帧现象,不流畅。可以用系统工具Hierarchy View分析布局层级 导致UI性能问题原因:1. 太多重叠的背景2. 太多重叠的view3. layout太多层级 解决方法:1. 去除一些在最底层的永远不会显示的背景2. 使用<include>、<merge>(避...原创 2018-05-08 10:49:39 · 393 阅读 · 0 评论 -
进程线程区别和通讯
进程概念:系统进行资源分配和调度的独立单元。一个程序之前有一个进程,一个进程之前有一个线程。进程类似一个车间,里面有很多流水线线程。 多进程优点:可以为应用争取更多资源。一个进程崩溃,不至于整个应用挂掉。 缺点:让应用变更重,更耗电,数据共享困难。在应用初始化时Application多次创建(应通过判断当前应用id防止) 多进程实现:在四大组件注册时加上android:proce...原创 2018-05-08 10:57:01 · 163 阅读 · 0 评论 -
Android内存泄露分析工具
1. lint lint是静态代码分析工具,可以实时检测代码是否合规,也可以检测部分内存泄露的代码,平时写代码注意标黄的提示是否有涉及到内存泄漏的。 2.leakcanary 一个开源项目,引入依赖并在Application中调用 LeakCanary.install即可用于调试。引用后如果出现内存泄露情况,通知栏会出现Leak的图标,点开即可看具体泄漏部分。 3.Memory Profi...原创 2018-11-22 22:10:25 · 569 阅读 · 0 评论