我的Android读书笔记——(1)
来源:互联网 发布:macbook 下载软件网站 编辑:程序博客网 时间:2024/06/01 19:02
今天来阅读《Android开发艺术探索》
1、Activity生命周期和启动模式
问题1、架设当前Activity为A,如果这是用户打开一个新的ActivityB哪儿B的onResume和A的onPause哪个先执行呢?
答案是通过Android的源码可以了解到在启动一个新的Activity之前,需要先让旧的Activity执行onPause.所以需要旧的Activity先执行onPause然后新的Activity再执行onResume.
注意点:onSaveInstanceState和onRestoreInstanceState只有在Activity的生命周期内出现异常的情况下才会执行。
首先Activity被意外终止时,Activity会调用onSaveInstanceState去保存数据,然后Activity会委托Window去保存数据,接着Window再委托它上面的顶级容器去保存数据。
2、Android IPC
IPC是两个进程之间进行数据交换或者跨进程间通讯,一个进程包含多个线程,在主线程中包含过多的耗时操作会导致ANR(程序无响应),解决办法就是把耗时操作放置到线程中避免耗时操作在主线程中执行。IPC并不是Android独有的,所有的操作系统都有自己的IPC机制,在Android中最有特色的进程间通讯就是Binder,通过Binder可以听讼的实现进程间通讯,除了Binder之外Android孩纸吃Socket,通过socket也可以实现任意两个终端之间的通讯,当然同一个设备上的两个进程通过socket通讯自然也是可以的。通过ContentProvider,以及SQlite也可以实现进程间通讯。
Android多进程模式
通过给四大组件指定android:process属性就可以轻松的开启多进程模式
一个应用中使用多进程模式可能带来的问题如下:
1、静态成员和单例失效
2、线程同步机制失效
3、SharePreference可靠性下降
4、Application会多次创建
5、一个应用中使用多进程开发就相当于启动了多个应用,也相当于启动了多个虚拟机,所以占用内存增加
序列化和反序列化
Serializable是Java中的序列化接口,使用起来比较简单,但是开销比较大,序列化和反序列化需要大量的I/O操作。而Parcelable是Android中的序列化方式,因此更适合用在Android平台上,确定是使用起来稍微麻烦,但是效率高,Parcelable是Android推荐的方式,因此首选Parcelable。Parcelable主要用在内存序列化上,通过Parcelable将对象序列化到存储设备中或者将对象序列化后通过网络传输也都是可以的,但是这个过程略显复杂,因此在这两种情况下建议大家使用Serializable。
- 我的Android读书笔记——(1)
- 我的Android读书笔记——(2)
- 我的Android读书笔记——(3)Android消息机制
- 我的Android读书笔记——(4)Android性能优化
- 我的读书笔记——引用
- 我的读书笔记——Spring
- 我编程,我快乐——读书笔记(一)
- 我编程,我快乐——读书笔记(二)
- 我编程我快乐——读书笔记(三)
- 我编程我快乐——读书笔记(四)
- 读书笔记(1)-《我编程,我快乐》
- 我的读书笔记——几种中间件技术
- 读书笔记:《游戏之旅——我的编程感悟》
- 我的读书笔记——Serial收集器
- 我的读书笔记——parNew收集器
- 我的读书笔记——Paralled Scavenge 收集器
- 我的Python之旅——《Dive Into Python》读书笔记(一)
- 素数,以此做为我23岁的生日特别篇(读书笔记——什么是数学)
- 自定义的三项开关控件
- Hadoop环境----自动分区和挂载磁盘
- 添加nginx为系统服务(service nginx start/stop/restart)
- Android中Selector的使用
- iOS开发之样式多样好用的滑动视图Demo
- 我的Android读书笔记——(1)
- android PinYinIME横屏模式禁止全屏输入 & 调整横屏模式下键盘高度
- 使用jpa注解数据库中的一对一关系
- wget失效
- VS warning C4819
- iOS 同步线程的方式
- 网页qq客服跳转
- Microsoft OutLook2010 邮箱邮件满了,无法接收邮件
- 学习笔记-Tableau