1岸霹、要做一個盡可能流暢的ListView棺滞,你平時在工作中如何進行優(yōu)化的拄显?
①Item布局苟径,層級越少越好,使用hierarchyview工具查看優(yōu)化躬审。
②復(fù)用convertView
③使用ViewHolder
④item中有圖片時棘街,異步加載
⑤快速滑動時,不加載圖片
⑥item中有圖片時承边,應(yīng)對圖片進行適當壓縮
⑦實現(xiàn)數(shù)據(jù)的分頁加載
2遭殉、對于Android 的安全問題,你知道多少
①錯誤導出組件
② 參數(shù)校驗不嚴
③WebView引入各種安全問題,webview中的js注入
④不混淆博助、不防二次打包
⑤明文存儲關(guān)鍵信息
⑦ 錯誤使用HTTPS
⑧山寨加密方法
⑨濫用權(quán)限险污、內(nèi)存泄露、使用debug簽名
3翔始、如何縮減APK包大新扌摹里伯?
代碼
保持良好的編程習慣城瞎,不要重復(fù)或者不用的代碼,謹慎添加libs疾瓮,移除使用不到的libs脖镀。
使用proguard混淆代碼,它會對不用的代碼做優(yōu)化狼电,并且混淆后也能夠減少安裝包的大小蜒灰。
native code的部分,大多數(shù)情況下只需要支持armabi與x86的架構(gòu)即可肩碟。如果非必須强窖,可以考慮拿掉x86的部分。
資源
使用Lint工具查找沒有使用到的資源削祈。去除不使用的圖片翅溺,String脑漫,XML等等。 assets目錄下的資源請確保沒有用不上的文件咙崎。
生成APK的時候优幸,aapt工具本身會對png做優(yōu)化,但是在此之前還可以使用其他工具如tinypng對圖片進行進一步的壓縮預(yù)處理褪猛。
jpeg還是png网杆,根據(jù)需要做選擇,在某些時候jpeg可以減少圖片的體積伊滋。 對于9.png的圖片碳却,可拉伸區(qū)域盡量切小,另外可以通過使用9.png拉伸達到大圖效果的時候盡量不要使用整張大圖笑旺。
策略
有選擇性的提供hdpi追城,xhdpi,xxhdpi的圖片資源燥撞。建議優(yōu)先提供xhdpi的圖片座柱,對于mdpi,ldpi與xxxhdpi根據(jù)需要提供有差異的部分即可物舒。
盡可能的重用已有的圖片資源色洞。例如對稱的圖片,只需要提供一張冠胯,另外一張圖片可以通過代碼旋轉(zhuǎn)的方式實現(xiàn)火诸。
能用代碼繪制實現(xiàn)的功能,盡量不要使用大量的圖片荠察。例如減少使用多張圖片組成animate-list的AnimationDrawable置蜀,這種方式提供了多張圖片很占空間。
4悉盆、Android與服務(wù)器交互的方式中的對稱加密和非對稱加密是什么?對稱加