Android 02.Activity

I-重识Activity

Introduction to Activities

Activity生命周期.png

单个Activity的生命周期

创建一个Activity时,依次调用onCreate() onStart() onResume(),此时处于可见状态,当让app处于后台则会依次调用onPause() onStop() onDestroy()

onRestart()在Activity被销毁之前,系统调用该回调,从而让Activity回到可见状态。

多个Activity的生命周期交互

让当前Activity执行onPause()之后,才会打开下一个Activity。

Activity生命周期交互设计思想三问

  • 为什么先暂停当前显示的Activity?
  • 为什么先执行要打开的Activity的onCreate() onStart() onResume()
  • 在执行新的Activity时,为什么不执行当前Activity的onPause() onStop()

Activity的横竖屏切换

生命中后期应用场景

Activity启动的两种方式

  • 直接启动
  • 匿名启动

启动系统常见的Activity

  • 启动浏览器
  • 启动相册
  • 发送短信
  • 启动电话界面

II-深入Activity

Activity数据交换

  • Bunndler传递数据
intent.putExtra("name","nate");
--->
intent.getStringExtra("name");
bundle.putString("name","nate");
intent.putExtras(bundle);
---->
intent.getStringExtra("name");
//Person 对象传递
bundle.putSerializable("person",person);
intent.putExtras(bundle);
----->
Person person = (Person)intent.getSerializableExtra("person");
//Bitmap传递
Bitmap bitmap = BitmapFactory.decodeResource(getResources().R.drawable.ic_launcher);
bundle.putParcelable("bitmap",bitmap);
bundle.putExtras(bundle);
----->
Bitmap bitmap = intent.gettParcelable("bitmap");
  • 传递大数据异常TransationTooLargeException

Activity中的任务栈

  • Task
  • Back Stack

通过adb命令查看Activity任务

Activity启动模式(launchMode)

standard
singleTop
singleTask
singleInstance

III-精通Activity

FrameWork层的类介绍-ActivityThread

Application Thread相关类介绍

Context类介绍

Activity、Window、WindowManager

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Activity https://developer.android.com/guide/components/a...
    XLsn0w阅读 723评论 0 4
  • Activity是与用户交互的接口Android系统是通过Activity栈的形式来管理Activity 下面我将...
    Dapengyou阅读 524评论 0 5
  • Android的开发中我们大部分都是和Activity打交道,而想很好的运用Activity首先必须要清楚Acti...
    云天随笔阅读 1,269评论 0 1
  • AndroidLifeCycle Android中关于Activity和Fragment的生命周期调用流程 Act...
    撑起头顶的天阅读 936评论 0 0
  • 感恩父母养育之恩! 感恩从小到大每一个教导过我的老师,教我智慧和知识,给我力量。 感恩公司客户和员工,你们让我有自...
    秀W阅读 329评论 2 3