处理程序引用泄漏由于此Handler被声明为内部类,因此可能会阻止外部类被垃圾回收.如果Handler使用Looper或MessageQueue作为主线程以外的线程,则没有问题.如果Handler正在使用主线程的Looper或MessageQueue,则需要修复Handler声明,如下所示:将Handler声明为静态类; 在外部类中,实例化外部类的WeakReference,并在实例化Handler时将此对象传递给Handler; 使用WeakReference对象对外部类的成员进行所有引用.
我需要一个解决方案!!!!!
public class EMG_Activity extends AppCompatActivity {
// An object that manages Messages in a Thread
public static Handler HandlerMessager;
private static AsyncQueryHandler queryHandler;
private static final String EMG = "EMG";
private ManageConnectedSocket manageConnectedSocket;
private Thread manageThread;
private Button button_start_pause;
private int id = 0;
private int xValue = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_emg);
queryHandler = new AsyncQueryHandler(getContentResolver()) {
@Override
protected void onInsertComplete(int token, Object cookie, Uri uri) {
if(cookie != null)
id …Run Code Online (Sandbox Code Playgroud)