zoukankan      html  css  js  c++  java
  • TabActivity里Actvity的生命周期

    遇到TabActivity里注册和销毁广播接收器应该写到Activity的哪些声明周期阶段里,所以上网查了查,

    发现,

    开始是同样的oncreate--onstart--onresume,

    当你切换到其他activity时你会发现他调用了onpause而不会调用onstop(即使你这时调用锁屏键他也不会onstop),

    当你退出这个tabactivity时他调用了onstop和ondestory。

    这个我们可以知道acitivity的生命周期交给了activitygroup来管理。

    另外今天做项目遇到一个很实用的小tips:

    在TabActivity里做tab切换的时候,如果当前的progressDialog并没有关闭会导致程序的崩溃,

    错误提示是:XXXActivity has leaked window ... that was originally adde here,

    大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow.

    其实解决方法很简单,重写onDestory(或者是onPause)方法,将progressDialog给dismiss掉即可。通常我的写法是:

     //当在UI线程中显示ProgressDialog时,
      //此时若想关闭Activity,
      //它会调用自己的onPause函数,
      //所以需要在onPause中关闭ProgressDialog,
      //然后再关闭Activity
      if(progressDialog!=null){
       if(progressDialog.isShowing()){
        progressDialog.dismiss();
       }
      }

    由于上面提到过,当用ActivityGroup来管理的时候,它的生命周期和activity走的不一样,故在此重写的是onPause而不是onDestory.

  • 相关阅读:
    洛谷P1219 八皇后 我。。。。。。
    c++ STL map
    洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL
    Restore the Permutation by Sorted Segments CodeForces
    Alternating Subsequence CodeForces
    cerr与cout
    (转)女生应该找一个玩ACM的男生
    (转)搞ACM的你伤不起
    c++多组数据输入
    不要62 HDU
  • 原文地址:https://www.cnblogs.com/miya2012/p/2755567.html
Copyright © 2011-2022 走看看