最近做的專案是智能灌溉
自己設計了一個app,有兩個執行緒,一個執行緒是讀取傳感器資料的,另一個執行緒是給硬體發送指令的。
當滿足一定條件時,app通過藍牙給硬體發送指令執行操作,執行發送指令的執行緒,同時執行讀資料的那個執行緒。發現執行一段時間后讀資料的執行緒就不作業了,再過一段時間整個程式都退出了。
請問怎么解決這個問題呢??
uj5u.com熱心網友回復:
沒人能幫你解決,自己打日志斷點,慢慢除錯uj5u.com熱心網友回復:
哈哈,你算是問對人了你這個記憶體泄露了,我最近就在寫中專案 這個是我的解決 方案https://blog.csdn.net/u012922981/article/details/105791233 你把 “當滿足一定條件時,app通過藍牙給硬體發送指令執行操作”這個操作放在這個 public void handleMessage(Message msg) {super.handleMessage(msg);
OperationActivity activity = mWeakReference.get();
if (activity != null) {
if (msg.what == 1) {
activity._handleWeightChanged();
我做的是 自己做頁面重繪和 滿足條件的網路請求操作
}
}
}
uj5u.com熱心網友回復:
謝謝您,我試試????
uj5u.com熱心網友回復:
好難啊。。。。uj5u.com熱心網友回復:
try{...}catch(Exception e){...}保存錯誤日志到本地存盤,查看出錯資訊。uj5u.com熱心網友回復:
謝謝,謝謝,好人一生平安uj5u.com熱心網友回復:
感謝分享!!uj5u.com熱心網友回復:
謝謝分享試試看
uj5u.com熱心網友回復:
很實用,謝謝轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/37374.html
標籤:Android
上一篇:ShapeDrawable可以直接用BitmapFactory.decodeResource獲取為Bitmap嗎
