在我的項目中,由於虛擬機預算超過,它會一直崩潰。我使用的照片都非常小,但據說他們一直在填充虛擬機。我正在通過eclipse工作,並注意到它給我以下錯誤的兩個實例。如何編碼靜態處理程序,因爲:此處理程序類應該是靜態的或可能發生泄漏
這個處理程序類應該是靜態的或可能發生泄漏(com.quickreaction.BT_screen_menuButtons.2)BT_screen_menuButtons.java/BT_activity_root/src目錄/ COM/quickreaction線1091的Android林特問題
當我跟着兩個環節此是它帶給我的源代碼。
Handler downloadScreenDataHandler = new Handler(){
@Override public void handleMessage(Message msg){
if(JSONData.length() < 1){
hideProgress();
showAlert(getString(R.string.errorTitle), getString(R.string.errorDownloadingData));
}else{
parseScreenData(JSONData);
}
}
};
和..
private Handler buttonImageHandler = new Handler() {
public void handleMessage(Message msg){
//BT_debugger.showIt(activityName + ":buttonImageHandler setting background image for button.");
//msg.what will equal the index of the button images array...
//set the drawable...
Drawable d;
//we may need to round the image...
if(buttonCornerRadius > 0){
d = buttonImages.get(msg.what);
//we have a drawable, our rounding method needs a bitmap...
Bitmap b = ((BitmapDrawable)d).getBitmap();
b = BT_viewUtilities.getRoundedImage(b, buttonCornerRadius);
//convert it back to a drawable...
d = new BitmapDrawable(b);
}else{
d = buttonImages.get(msg.what);
}
buttonSquares.get(msg.what).setBackgroundDrawable(d);
buttonSquares.get(msg.what).invalidate();
} };
我一直在閱讀堆棧溢出有關使處理程序靜態或弱,但不知道如何。任何想法
是否加入或者這些代碼的要求更多的代碼來設置MyHandler的? – user2543132
@ user2543132:您只需調用'new MyHandler()'來創建MyHandler類的實例。 – CommonsWare