android的一些優(yōu)化方案

一、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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容