因應用自身空指針異常造成閃退
主要原因總結如下:
1、空指針:對象沒有初始化就使用了
2、空函數:有事件源但沒有對應的事件對象
3、死循環:沒有合理的循環控制流
4、內存泄露:同一個對象不停地開闢,而且沒有釋放
5、內存溢出:程序所消耗的內存大於硬件提供的內存
6、網絡:異步加載時提前調用了數據(現象是在弱網時,根源是空指針)
7、介面UI:像拍照沒有附加於ControlView
8、主線程:需要主線程執行的,放於子線程裏執行了。比如:網絡電話--網絡電話是用C語言寫的,在進階語音中要調用中,需要加線程轉換。
閃退的原因分析:
1、沒有對你new出來的對象進行實例化,或者你去數據庫裏查詢一個空的對象,就是空指針
2、空指針的異常NullPointer 無非是因爲對象爲null的情況下去調用該對象所擁有的方法或者成員變量造成的
解決辦法:
在調用有可能爲空的變量的時候,最好做一下非空的判斷。