Weakhandler memory leak

孤者浪人 提交于 2020-01-25 10:49:07

问题


A warning says that handlers must be static or else leaks might occur but I do not know how to make it static, adding 'static' after 'private' does not work either

private  final WeakHandler<MainActivity> mGenericModelHandler = new WeakHandler<MainActivity>(this) {

        @Override
        public void handleMessage(Message msg, MainActivity thisActivity) {
            try {
                switch (msg.what) {
                case ModelBase.BUSY_STATE_CHANGED_NOTIFICATION:
                    if( mModel.error() != null ) {
                        mResultTextView.append("\n Task failed:\n" + mModel.error().getMessage() + "\n\n");
                        mResultScrollView.post(new Runnable() { public void run() { mResultScrollView.fullScroll(View.FOCUS_DOWN); } });

                    }
                    UpdateUI();
                    break;

                case MESSAGE_NOTIFICATION:
                    String message = (String)msg.obj;
                    mResultTextView.append(message);
                    mResultScrollView.post(new Runnable() { public void run() { mResultScrollView.fullScroll(View.FOCUS_DOWN); } });
                    break;

                default:
                    break;
                }
            } catch (Exception e) {
            }

        }
    };

来源:https://stackoverflow.com/questions/49584981/weakhandler-memory-leak

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!