一、android不用静态变量存数据
1.静态变量等数据由于进程被杀死而初始化
2.使用其他数据传输方式:文件/sp/contentProvider.
二、有关sp的安全问题
1.不能跨进程同步 每个进程都会维护一个sp的副本,当进程结束后才可以结束
2.sp的文件过大问题 会造成界面卡顿
三、 内存对象的序列化
序列化:将对象的状态信息转换为可以存储或传输的形式过程
1.Seralizeble 会产生大量的零时变量,从而引发垃圾回收,频繁的垃圾回收会引发内存抖动 UI卡顿 OOM
2.parcelable 进程间通信使用 磁盘存储的数据不能使用该方式序列化
3.总结
(1)serializeble是java的序列化方式,parcelable是android特有的序列化方式
(2)在使用内存时候,parcelable比serializeble性能高
(3)Seralizeble 序列化是会产生大量的临时变量,从而引发频发的GC
(4)磁盘存储的数据不能使用parcelable
四、避免在UI线程中做繁重的操作
UI卡顿检测工具:AndroidPerformanceMonitor
网友评论