來新的公司發現項目中的幾個重大問題點及解決方案

1.單例引用activity實例導致內存泄漏

項目中檢測人臉部分需要用到so庫中的接口,因此封裝了一個單例來管理so庫中的接口調用,但是在單例中傳入了activity,因爲單例的生命週期是遍佈整個app的,而且又引用到activity,那麼activity退出時就無法釋放,導致內存泄漏。解決辦法很簡單,加入如下代碼即可。

mContext = context.getApplicationContext();

2.網絡返回的json字符串未做異常處理。

3.okhttp亂用,網絡連接封裝有問題,導致部分網絡接口連接時會生存新的連接,甚至在下載圖片時,竟然新建一個okhttpclient,就導致了網絡連接數量越來越多的問題。完善網絡封裝,okhttpclient只保持兩個,連接兩個不同的ip地址,之後app的網絡連接數量就保持在了10個左右。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章