亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android 開發中使用AsyncTask

Android 開發中使用AsyncTask

繁花如伊 2018-08-30 08:10:15
在我現在寫的這個App里邊會有類似于那些新聞類的消息,就是有個list,里邊每個item包含文字圖片這些內容,我現在使用的是AsyncTask來進行網絡請求的??吹骄W上有些人說在android中使用AsyncTask很容易造成內存泄露,請問前輩們有什么方法可以避免AsyncTask的內存泄露,或者用其他什么方法進行網絡請求。
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

不建議使用AsyncTask進行網絡操作,Android文檔中有寫到AsyncTask應該處理10秒一下的操作(通常為輕量的本地IO操作),由于網絡操作存在不確定的超時,所以可能操作會在10秒以上,不建議使用。

關于AsyncTask內存泄露的,以及并行串行問題。可以訪問這篇文章了解。譯文:Android中糟糕的AsyncTask

將AsyncTask或者Thread的子類作為單獨的文件,不持有Activity的強引用
將AsyncTask或者Thread的子類使用static修飾,則不會隱式持有Activity的強引用
如果是匿名內部類,則需要將其對象設置成成員屬性,使用static修飾就不會隱式持有Activity的強引用。

如果是進行網絡操作,可以使用將AsyncTask對象做成靜態的成員變量。使用這個Executors.newSingleThreadExecutor()或者Loaders。


查看完整回答
反對 回復 2018-09-18
  • 2 回答
  • 0 關注
  • 750 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號