如何将薄弱的参考转移到活动中



我试图为Android类实现主要处理程序。
我如何以弱参考活动来实例化myhandler对象?

class MainActivity: AppCompatActivity {
    class MyHandler(var mActivityRef: WeakReference<MainActivity>): Handler(){
        override fun handleMessage(msg: Message?) {
            var activity: MainActivity? = mActivityRef.get()// get actual object from weak reference
            if(activity != null) {
                if (msg?.what == 0) {
                //...some logic
                }
            }
        }
    }
}

我认为最好直接通过构造函数中的 Activity实例,而只是做

this.weaActivity = new WeakReference<MyActivity>(activityRef);

MyHandler之外的类无需知道Activity保存到Reference中。这是仅与MyHandler

相关的实现详细信息

最新更新