一、android不用靜態(tài)變量存數(shù)據(jù)
1.靜態(tài)變量等數(shù)據(jù)由于進(jìn)程被殺死而初始化
2.使用其他數(shù)據(jù)傳輸方式:文件/sp/contentProvider.
二、有關(guān)sp的安全問題
1.不能跨進(jìn)程同步 每個(gè)進(jìn)程都會(huì)維護(hù)一個(gè)sp的副本,當(dāng)進(jìn)程結(jié)束后才可以結(jié)束
2.sp的文件過大問題 會(huì)造成界面卡頓
三、? 內(nèi)存對(duì)象的序列化
序列化:將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问竭^程
1.Seralizeble 會(huì)產(chǎn)生大量的零時(shí)變量,從而引發(fā)垃圾回收,頻繁的垃圾回收會(huì)引發(fā)內(nèi)存抖動(dòng) UI卡頓?。希希?/p>
2.parcelable 進(jìn)程間通信使用 磁盤存儲(chǔ)的數(shù)據(jù)不能使用該方式序列化
3.總結(jié)
(1)serializeble是java的序列化方式,parcelable是android特有的序列化方式
(2)在使用內(nèi)存時(shí)候,parcelable比serializeble性能高
(3)Seralizeble 序列化是會(huì)產(chǎn)生大量的臨時(shí)變量,從而引發(fā)頻發(fā)的GC
(4)磁盤存儲(chǔ)的數(shù)據(jù)不能使用parcelable
四、避免在UI線程中做繁重的操作
UI卡頓檢測工具:AndroidPerformanceMonitor