之前由于handler的写法内存泄漏(具体查看handler内存泄漏博客https://blog.csdn.net/qq_38363506/article/details/80054641),
定义了一个静态的内部类,并采用了弱引用引入,但是由于近来有个需求需要在那个静态的内部类里面实现界面的跳转。这个时候参照如下操作:1、首先在这个静态内部类里面通过外部类的对象调用get()方法,之后通过activity这个对象去调用 startActivity方法,如果用到context就通过这个对象去调用getApplicationContext()方法。
private static class CopyHandler extends Handler {
WeakReference<MobSms> mactivity;
CopyHandler(MobSms activity) {
this.mactivity = new WeakReference<MobSms>(activity);
}
@Override
public void handleMessage(Message msg) {
Activity activity = mactivity.get();
super.handleMessage(msg);
if (msg.what == -1) {
btnSendMsg.setText(i+" s");
} else if (msg.what =&#