码迷,mamicode.com
首页 > 移动开发 > 详细

Android中的Activity的小技巧

时间:2017-10-22 00:23:12      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:out   oncreate   state   eth   override   模式   undle   src   基类   

最近重新拾起郭大神的Android书籍温故而知新。

1.获取Activity所在的task栈,可以一目了然哪些Activity在一个task栈中: 

     在onCreate中添加: Log.d("Android","Task is is" +getTaskId());

2.观察log中当前Activity的实例,从而更能对比出四种不同的启动模式的差别:

    Log.d("XXActivity",this.toString());

3.利用onSaveInstanceState()保存数据:

1 @Override
2     protected void onSaveInstanceState(Bundle outState) {
3         super.onSaveInstanceState(outState);
4         String tempData = "Something you just typed";
5         outState.putString("key","tempData");
6 
7     }

4. 恢复数据:这里保存数据和取出数据都是使用的Bundle,此外Intent和Bundle可以一起用于传递数据。

技术分享View Code

5. 知晓当前在哪个Activity界面:

一般的项目里都有类似BaseActivity的基类,我们只需在该类的onCreate方法中打印一个log就可以识别当前界面了:

技术分享View Code

6. 随时随地退出应用:

  需要一个专门的集合类对所有的活动进行管理,下面的ActivityCollector类作为活动管理器:

技术分享View Code

 在活动管理器中,通过List来暂存活动,然后提供了一个addActivity()方法用于向list中添加活动,同时提供了一个removeActivity()方法用于移除活动从该list中,最后提供一个finishAll()的方法将List中的活动全部销毁。

调用:只需在onCreate中添加:ActivityCollector.addActivity(this); 

         在onDestory()中添加:ActivityCollector.removeActivity(this);

         在需要销毁全部活动的地方调用:ActivityCollector.finishAll();

          1 android.os.Process.killProcess(android.os.Process.myPid()); killProcess()只能用于杀掉当前程序的进程,不能杀掉其他程序。

7.启动活动的最佳写法:  

技术分享View Code

   比较基础,打好底才能建高楼。

Android中的Activity的小技巧

标签:out   oncreate   state   eth   override   模式   undle   src   基类   

原文地址:http://www.cnblogs.com/8988-miaoxiaohua/p/7706605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!