美文网首页
HandlerThread的应用实战

HandlerThread的应用实战

作者: topone37 | 来源:发表于2018-03-05 11:22 被阅读5次

    1.当你频繁需要new Thread去操作一个耗时操作的时候,可以考虑使用HandlerThread来优化线程创建以及销毁的消耗

        private HandlerThread trackerThread;
        private Handler trackerHandler;
    

    2. 准备工作

       
        private void openTrackerThread() {
               if (this.trackerThread != null) {
                   this.trackerThread.quit();
               }
               this.trackerThread = new HandlerThread("Tracker Thread");
               this.trackerThread.start();
               this.trackerHandler = new Handler(this.trackerThread.getLooper());
    
           }
    
           private void closeTrackerThread() {
               if (this.trackerHandler != null) {
                   this.trackerHandler.post(new Runnable() {
                       public void run() {
                           trackerThread.quit();
                       }
                   });
               }
           }
    
    
    

    3. 当耗时任务来了,直接postRunnable(),将耗时任务扔到之前创建好的线程中去

    this.trackerHandler.post(new Runnable() {
                   public void run() {
                   //耗时操作
                   }
    

    相关文章

      网友评论

          本文标题:HandlerThread的应用实战

          本文链接:https://www.haomeiwen.com/subject/xfacfftx.html