日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 解決如何監聽Activity切換

解決如何監聽Activity切換

來源:程序員人生   發布時間:2014-09-18 03:29:56 閱讀次數:5199次

    本篇博文在我之前的博文中已經提到了,但是監聽Activity切換又可以作為一個單獨的內容來敘述,因此這里又單獨拿了出來進行贅述。

    Activity的切換無非有兩種,第一種:啟動或者創建一個新的Activity;第二種:喚醒后臺運行的Activity。因此如果我們能夠成功監聽到啟動或者創建一個Activity,或者喚醒Activity我們就基本完成了Activity的切換的監聽。

  在源碼/frameworks/base/core/java/android/app目錄下ActivityThread.java中為我們提供了這樣一個方法來幫助我們完成對Activity啟動、創建、銷毀、暫停、停止,喚醒等生命周期的監聽。

  

[java] view plaincopyprint?
  1. public void handleMessage(Message msg) {  
  2.             if (DEBUG_MESSAGES) Slog.v(TAG, ">>> handling: " + codeToString(msg.what));  
  3.             switch (msg.what) {  
  4.                 case LAUNCH_ACTIVITY: {  
  5.                     /// M: enable profiling @{  
  6.                     if ( true == mEnableAppLaunchLog && !mIsUserBuild && false == mTraceEnabled ) {  
  7.                         try {  
  8.                             FileInputStream fprofsts_in = new FileInputStream("/proc/mtprof/status");  
  9.                             if ( fprofsts_in.read()== '3' ) {  
  10.                                 Log.v(TAG, "start Profiling for empty process");  
  11.                                 mTraceEnabled = true;  
  12.                                 Debug.startMethodTracing("/data/data/applaunch"); //applaunch.trace  
  13.                             }  
  14.                         } catch (FileNotFoundException e) {  
  15.                             Slog.e(TAG, "mtprof entry can not be found", e);  
  16.                         } catch (java.io.IOException e) {  
  17.                             Slog.e(TAG, "mtprof entry open failed", e);  
  18.                         }  
  19.                     }  
  20.                     /// @}  
  21.                     Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER | Trace.TRACE_TAG_PERF, "activityStart"); /// M: add TRACE_TAG_PERF for performance debug  
  22.                     ActivityClientRecord r = (ActivityClientRecord)msg.obj;  
  23.   
  24.                     r.packageInfo = getPackageInfoNoCheck(  
  25.                             r.activityInfo.applicationInfo, r.compatInfo);  
  26.                     handleLaunchActivity(r, null);  
  27.                     Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER | Trace.TRACE_TAG_PERF); /// M: add TRACE_TAG_PERF for performance debug  
  28.                 } break;  
  29.                 case RELAUNCH_ACTIVITY: {  
  30.                     Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "activityRestart");  
  31.                     ActivityClientRecord r = (ActivityClientRecord)msg.obj;  
  32.                     handleRelaunchActivity(r);  
  33.                     Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);  
  34.                 } break;  
  35.                 case PAUSE_ACTIVITY:  
  36.                     Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "activityPause");  
  37.                     handlePauseActivity((IBinder)msg.obj, false, msg.arg1 != 0, msg.arg2);  
  38.                     maybeSnapshot();  
  39.                     Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);  
  40.                     break;  
  41.                 case PAUSE_ACTIVITY_FINISHING:   生活不易,碼農辛苦
    如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
    程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩大片 | 91av电影在线观看 | 日日日干| 日本一区二区不卡视频 | 国产精品99久久久久久动医院 | 国产精品久久久久久久久久免费看 | 玖玖玖国产精品 | 亚洲一区二区三区四区精品 | 国产精品v亚洲精品v日韩精品 | 成人网在线 | 日日噜噜噜夜夜爽爽狠狠视频, | 99re久久| 久久久久久亚洲精品 | 亚洲人成电影在线 | 久久机这里只有精品 | 久久99精品久久久久久 | 伊人久久在线 | 国产欧美精品在线 | 麻豆精品久久 | 成年女人免费又黄又爽视频 | 欧美一区二区三区在线看 | 夜夜福利 | 国产精品免费网站 | 婷婷综合在线 | 欧美一区二区三区在线播放 | 91露脸的极品国产系列 | 欧美综合第一页 | 高清av在线 | 秋霞精品 | 亚洲成人二区 | 亚洲专区欧美专区 | 91亚洲精品在线 | 成人精品一区二区三区校园激情 | 性高湖久久久久久久久 | 麻豆成人av| 成人精品福利 | 99re视频在线 | 久久久久久久久久久久久久久久久久久久 | 日韩欧美国产高清 | 日韩精品成人免费观看视频 | www久久久 |