九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Android面試-App性能優(yōu)化

Android面試基本繞不開App性能優(yōu)化,在內(nèi)存和App的運行速度上我根據(jù)個人想到的做一個匯總總結(jié)。

內(nèi)存方面

一:內(nèi)存泄漏

不需要再使用的對象被其它對象持有引用,導(dǎo)致該對象所占用的內(nèi)存不能被回收,這就是內(nèi)存泄漏。

二:內(nèi)存溢出

一個應(yīng)用內(nèi)的內(nèi)存耗盡,無法為新對象分配內(nèi)存,導(dǎo)致應(yīng)用崩潰,這就是內(nèi)存溢出,典型是加載多張大圖,內(nèi)存泄漏可以造成內(nèi)存溢出后果。

如何解決Bitmap 內(nèi)存溢出?

可以對圖片進行采樣率、RGB565壓縮、尺寸等壓縮法,如有需要可以加入LruCache 對圖片進行緩存管理。

什么情況下會造成內(nèi)存泄漏?

長期保持某些資源,如Context、CursorIO流的引用,資源得不到釋放造成內(nèi)存泄露。

1.Context 對象被其它地方引用,沒有被釋放。

2.查詢數(shù)據(jù)庫沒有關(guān)閉cursor 。

3.Adapter沒有復(fù)用convertView,沒有使用 ViewHolder模式。

4.Bitmap 不再使用時 沒有調(diào)用recylce()釋放內(nèi)存。

5.Handler造成的內(nèi)存泄漏


UI性能。

1.不要在UI 線程做耗時操作,導(dǎo)致UI線程卡頓。

2.Layout的層次太多,無法再16ms內(nèi)完成渲染。

3.viewStub 減少過度繪制,使用時再初始化。

4.同一時間做過多的動畫。

APP冷啟動.

Application是自行開發(fā)程序的主入口,特別是很多第三方SDK都會需要在ApplicationonCreate里面做很多初始化操作。一些第三方框架的sdk能在子線程中初始化則就在子線程中去初始化。

總結(jié)

1.布局排版上,如圖片與文字,能利用用TextView屬性就不需要用Layout 包裹ImageView TextView 來實現(xiàn),  如直接用TextViewdrawableLeft,或者drawableTop

2.Bitmap的內(nèi)存處理,1. 采樣率壓縮:  Bitmap在設(shè)置給ImageView的時候,把圖片寬高壓到與ImageView的大小一致2.如果圖片沒有透明的部分優(yōu)先考慮 Config.RGB_565,內(nèi)存直接比默認配置少一半。

3.Fragment盡量使用懶加載的形式,尤其是放在ViewPager 中使用。A—跳到B Activity, 如果B Activity ViewPager 加載Fragment,Fragment 有耗時操作就容易出現(xiàn)卡頓,因為B Activity onCreated 函數(shù)有耗時操作。

 4.可以采用ArrayMap等新的輕型結(jié)構(gòu)代替java 包中的傳統(tǒng)結(jié)構(gòu)類型。

 5.可以使用EventBus 代替廣播。

 6.大文件操作可以使用nio 中的 FileChannel 配置ByteBuffer  高效率讀寫。

 7.application中的某些初始化能放到子線程中的可以放到子線程中進行。

 8.多利用AndroidStudio 自帶的Lint 工具,對工程進行分析 inspectCode,自帶內(nèi)存監(jiān)控,也可以使用第三方的內(nèi)存監(jiān)控工具LeakCanary。


以上是目前想到的,以后有補充在陸續(xù)更新修改本文。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android程序猿 面試秘籍
Android-App性能優(yōu)化
Android 高級面試題及答案
Android內(nèi)存泄漏就這樣產(chǎn)生了
android進程優(yōu)先級
Android開發(fā)初學(xué)者必看文檔:Android開發(fā)規(guī)范
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服