Activity的四种加载模式(5)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-18 03:21 点击:

        setContentView(R.layout.main2);   
        Log.e(TAG, "Activity2 onCreated! HashCode=" + this.hashCode() + " TaskId="+getTaskId());   
    }   
           
    @Override  
    protected void onDestroy() {   
        Log.e(TAG, "Activity2 onDestroy! HashCode="+this.hashCode()+" TaskId="+getTaskId());   
        super.onDestroy();   
    }   
       
    /**点击进入Activity1*/  
    @Override  
    public boolean onTouchEvent(MotionEvent event) {   
        Intent intent = new Intent(this, Activity1.class);   
        startActivity(intent);   
        return super.onTouchEvent(event);   
    }   
}  
 
 
 
 从代码中我们可以看出,每当两个Activity创建、销毁以及onNewIntent时,都会打印该Activity的HashCode和所在的Task id。
    我们的操作步骤是这样的,打开应用程序,默认启动Activity2,点击Activity2,进入Activity1,再点击Activity1进入Activity2,再点击Activity2进入Activity1,然后按返回键,直到返回到Home。
    晕了吧,好写个顺序来形象的表示下:Activity2->Activity1(singleTask)->Activity2->Activity1(singleTask)。^_^
    进入Activity2,然后到Activity1,我们看Log信息为:
    03-01 14:50:08.144: ERROR/Activity2(371): Activity2 onCreated! HashCode=1156067168 TaskId=7
    03-01 14:50:13.923: ERROR/Activity1(371): Activity1 onCreate! HashCode=1156107384 TaskId=7
    我们看到,当本应用启动singleTask的Activity(Activity1)时,Activity1并没用另外启用一个任务。而是在原来的任务中创建了它。
    再从Activity1进入Activity2,然后再进入Activity1,这个过程,我们再看log信息:
    03-01 14:53:50.823: ERROR/Activity2(371): Activity2 onCreated! HashCode=1156128904 TaskId=7
    03-01 14:53:58.154: ERROR/Activity1(371): Activity1 onNewIntent! HashCode=1156107384 TaskId=7
    03-01 14:53:58.394: ERROR/Activity2(371): Activity2 onDestroy! HashCode=1156128904 TaskId=7
    从这个Log信息我们可以得到这个结论:当singleTask模式的Activity启动时,如果发现在某个Task中已经存在,那么它会先将该Activity(Activity1)上部的Activity(Activity2)销毁,然后调用它(Activity1)的onNewIntent函数。
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1