請看看下面的代碼:處理程序和內存泄漏的Android
public class MyGridFragment extends Fragment{
Handler myhandler = new Handler() {
@Override
public void handleMessage(Message message) {
switch (message.what) {
case 2: {
ArrayList<HashMap<String,String>> theurls = (ArrayList<HashMap<String,String>>) message.obj;
urls.addAll(theurls);
theimageAdapter.notifyDataSetChanged();
dismissBusyDialog();
break;
}}}};
}
當我使用的處理程序是這樣,我得到一個警告「處理程序應該是靜態的,否則很容易出現內存泄漏。」有人能告訴我什麼是最好的辦法嗎?
我不相信你正確地使用了手柄。看看這個指南:http://www.vogella.com/articles/AndroidPerformance/article.html。它沒有在示例代碼中聲明爲靜態。 :/ –
即使像這樣使用它也會給我同樣的錯誤。這從來沒有發生過,直到我昨晚升級我的android sdk。只要將一個處理程序聲明爲一個類變量,現在會彈出這個lint警告 – Rasmus
那麼如何聲明你的處理程序是靜態的呢? –