為什么應(yīng)用安裝到一半閃退?
原因:后臺(tái)運(yùn)行程序過多
打開某個(gè)應(yīng)用,使用完畢之后,多數(shù)人都是通過按手機(jī)返回鍵的返回到手機(jī)桌面,以為這樣就是退出該應(yīng)用了,實(shí)際上并沒有真正的退出該應(yīng)用。如此一來(lái),隨著時(shí)間的推移越來(lái)越多應(yīng)用在后臺(tái)悄悄運(yùn)行,當(dāng)數(shù)量達(dá)到一定的程度時(shí)就會(huì)導(dǎo)致手機(jī)出現(xiàn)閃退的現(xiàn)象。
處理方法:使用完畢之后要徹底關(guān)閉APP,而不只是返回手機(jī)桌面;不常用的軟件在【手機(jī)管家】-【應(yīng)用啟動(dòng)管理】中設(shè)置禁止其在后臺(tái)運(yùn)行;此外還可以在手機(jī)的【設(shè)置】-【系統(tǒng)】-【開發(fā)人員選項(xiàng)】當(dāng)中,找到【后臺(tái)進(jìn)程限制】,設(shè)置只允許一定量的APP在后臺(tái)運(yùn)行。
app為什么會(huì)閃退?
閃退原因總結(jié)
1、網(wǎng)絡(luò)異常
無(wú)網(wǎng)下操作
無(wú)網(wǎng)、wifi、移動(dòng)網(wǎng)絡(luò)三種網(wǎng)絡(luò)切換
弱網(wǎng),弱網(wǎng)場(chǎng)景下,服務(wù)端沒有及時(shí)的響應(yīng)
程序沒有做好網(wǎng)絡(luò)保護(hù),會(huì)造成app閃退
2、app程序沒有對(duì)接口返回的數(shù)據(jù)做好兼容性
接口返回的數(shù)據(jù)千差萬(wàn)別,有null,#34#34,#34#34,假如app端沒有很好進(jìn)行處理的話,會(huì)造成閃退
3、內(nèi)存泄露,程序沒有及時(shí)釋放內(nèi)存
比如,在安防監(jiān)控軟件,有直播和看回放的功能,頻繁的切換頁(yè)面,沒有很好的釋放資源的話,會(huì)造成閃退
4、版本過低
應(yīng)用版本太低,APP的SDK和手機(jī)的系統(tǒng)不兼容,造成閃退
有些API在老版本中有,在新版本中沒有,造成對(duì)象為空引起閃退
5、權(quán)限問題
一般是AndroidManifest文件中忘記配置相關(guān)權(quán)限
6、設(shè)計(jì)不合理
1個(gè)接口,拉取的數(shù)據(jù)量太大,請(qǐng)求結(jié)果會(huì)很慢,且占用大量?jī)?nèi)存,APP會(huì)閃退
7、不同app間切換
交互測(cè)試,可能會(huì)出現(xiàn)閃退
8、組件問題
APP中訪問網(wǎng)絡(luò)的地方,組件中的ImageView沒有正常的下載并顯示到app頁(yè)面上
9、拍照/選擇圖片后閃退
手機(jī)內(nèi)存小
部分手機(jī)在使用相機(jī)拍照時(shí)候存在橫豎屏切換,可能會(huì)導(dǎo)致我們應(yīng)用重新調(diào)整生命周期
解決辦法:在使用到拍照功能的Activity設(shè)置:android:configChanges#34orientation|keyboardHidden|screenSize#34
10、頁(yè)面布局問題
用LinearLayout布局時(shí)忘記指定orientation,出現(xiàn)了閃退
其他
在用AS開發(fā)Android程序時(shí),涉及到Android真機(jī)版本,在生成APK文如果V1和V2沒有全部選中,可能會(huì)發(fā)生閃回。