Android Activity中要如何定义 Handler变量
澳门银河官网
澳门银河官网
当前位置 : 澳门银河官网 > 澳门银河官网开户

Android Activity中要如何定义 Handler变量

Android StudioActivity中只要定义一个HandlerIDE就会报出大量的黄底提醒。用static也不行。想问一下要在Activity中定义个Handler,正确的书写姿势是什么?

不正确地使用Handler容易导致内存泄露,应该避免使用非静态内部类,继承Handler时,要么是放在单独的类文件中,要么就是使用静态内部类。
参考:[技术小黑屋 的一篇文章][1]

http://droidyue.com/blog/2014/12/28/in-android-handler-classes-should-be-static-or-leaks-might-occur/

弱引用的方式调用

    private static class MyHandler extends Handler {
        private final WeakReference<Activity> mActivity;
            public MyHandlerActivity activity {
                mActivity = new WeakReference<>activity;
            }
    }

比如上面这样引用。

广告位

澳门银河官网