<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                在Android開發中,編寫多線程通常會使用到Thread和Handler,細心的朋友會發現,很常見的寫法會被編輯器提示有問題,`new Handler(){}` 內的代碼背景顏色會變成黃色。Android Studio的提示大概就是需要定義成靜態之類的,以防止內存泄露問題。時間倉促,臨時整理一下查到的資料,便于后續使用。 下面是網上很常見的寫法: ~~~ //定義和初始化 private Handler mhandler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //處理接收到的消息 } }; //下面是調用: new Thread(){ @Override public void run() { super.run(); //做一些費時和不允許放在主線程中進行的事情 //... //事情完成后: mhandler.sendEmptyMessage(1); } }; ~~~ 那么如何解決呢? 方案一:使用軟引用 ~~~ //定義和初始化 WeakReference<Handler> handler = new WeakReference<Handler>(new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); //處理接收到的消息 }); //下面是調用: new Thread(){ @Override public void run() { super.run(); //做一些費時和不允許放在主線程中進行的事情 //... //事情完成后: mhandler.get().sendEmptyMessage(1);//調用需要先get } }; ~~~ 方案二:自定義靜態類 ~~~ private static class MHandler extends Handler{ private Context context; public MHandler(Context c){ context=c; } @Override public void handleMessage(Message msg) { super.handleMessage(msg); //處理接收到的消息 } } //定義 private MHandler mHandler; //初始化 mHandler = new MHandler(this); //調用 new Thread(){ @Override public void run() { super.run(); //做一些費時和不允許放在主線程中進行的事情 //... //事情完成后: mhandler.sendEmptyMessage(1); } }; ~~~ 查到的解決方案都略顯麻煩,但能防止不必要的內存泄露,還是多多注意的好。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看