安卓核心组件一activity

来源:互联网 发布:西部域名怎么解析 编辑:程序博客网 时间:2024/05/01 19:23

安卓核心组件(一)Activity

  • 简介:activity 意思是活动,集成了一系列的view形成可视界面
  • 四种状态
    • Runing状态:位于前台,可以和用户交互,在内存中此时位于栈顶
    • paused状态:可见,但是没有焦点,不可以与用户交互
    • stopped状态:不可见,但是依然存在于内存中
    • killed状态:已经不存在内存中
  • 主要方法
    • oncreat
    • onstart
    • onrestar
    • onpaused
    • onresume
    • onstop
    • ondestroy
    • 所有方法从字面意思就很好理解,但是注意这个方法onresume,这个方法将一个调用过onstart或者onrestart的activity调整到能与用户交互的状态;onRestart在onstop后面执行
  • 生命周期
    • 当Activity被激活时:onCreate() -> onStart() -> onResume()
    • 当Activity被遮挡时:onPause() -> 显示其它界面 -> onStop()
    • 当被遮挡的Activity恢复显示时:onRestart() -> onStart() -> onResume()
    • 当Activity退出时:onPause() -> onStop() -> onDestroy();
  • 四种启动模式
    • a) Standard:默认配置,允许多个实例,允许叠加;
    • b) Singletop:多个实例,不允许叠加;
    • c) Singletask:一个实例,task中位于其上的全部destroy
    • d) Singleinstance:完全单例模式,内存中仅存在一个实例
  • 生命周期的测试可以通过重写activity的方法输出相应的日志来观察

`public class MainActivity extends Activity {private String tag = "cn.myapp.activity_life";@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    // 输出日志,日志级别Verbose Debug Info Warn Error    Log.i(tag, "MainActivity.onCreate()");}@Overrideprotected void onStart() {    super.onStart();    Log.i(tag, "MainActivity.onStart()");}@Overrideprotected void onRestart() {    super.onRestart();    Log.i(tag, "MainActivity.onRestart()");}@Overrideprotected void onResume() {    super.onResume();    Log.i(tag, "MainActivity.onResume()");}@Overrideprotected void onPause() {    super.onPause();    Log.i(tag, "MainActivity.onPause()");}@Overrideprotected void onStop() {    super.onStop();    Log.i(tag, "MainActivity.onStop()");}@Overrideprotected void onDestroy() {    super.onDestroy();    Log.i(tag, "MainActivity.onDestroy()");}

}`

相应输出结果省略

0 0
原创粉丝点击