zoukankan      html  css  js  c++  java
  • 《第一行代码--Android》阅读笔记之Activity

    1.BaseActivity里面可以干什么

    定义一个Context
    定义一个TAG

    记录当前的Activity名字getClass().getSimpleName();

    2.Activity里面的几个重载方法
    //完整生存周期
    onCreate() 首次创建Activity时
    onDestroy() 在Activity销毁之前
    //可见生存周期
    onStart() 在Activity由不可见变为可见时
    onStop() 在Activiy由可见变为完全不可见时(如被一个新的Activity完全覆盖)
    //前台生存周期
    onResume() 在Activity由不在栈顶&&任然可见==》变为在栈顶,可见时候
    onPause() 在Activity离开栈顶但仍然可见时(如被一个Dialog部分遮挡)

    onRestart() 由停止状态变为运行状态
     
    3.Activity的启动模式
    有4种启动模式,分别为normal、singleTop、singleTask和singleInstance模式,默认为normal。
    修改方法:在AndroidManifest.xml的<Activity 标签之后添加android:launchMode="singleTop"
    normal模式:相当与一个普通的JavaBean, 可重复创建
    singleTop模式:在启动Activity时如果发现栈顶已经是该Activity,则不会再创建新的实例
    singleTask模式:相当于Singleton,不论是否在栈顶,都只存在一个实例
    singleInstance模式:也是单例,但存放在单独的栈中,用于两个APP共享Activity,进行跳转
     
    4.手工管理Activity
    建立一个类用于存放并管理Activity,并提供addActivity、removeActivity、finishAll()这样的方法
    在BaseActivity的的onCreate()方法中调用addActivity(),在onDestroy中调用removeActivity()方法
    一键销毁所有Activity并Kill进程,就完成了APP的退出
     
    5.启动Activity的参数
    为了便于明确Activity之间传递的参数,可在被启动的Activity中(如SecondActivity)设置一个单独的方法,如start(),并给定所需参数。调用时候,用这样的方式
    public void onClick(View v) {
         SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
  • 相关阅读:
    京东咚咚架构演讲读后感
    京东峰值系统设计读后感
    游戏服务器的架构演讲读后感
    菜鸟弹性调度系统的架构设计读后感
    阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读读后感
    阿里游戏高可用架构设计实践读后感
    淘宝架构背后——零售业务中台架构设计探讨及实践读后感
    本地存储的时候需要类型转换
    禁止输入框显示用户历史输入历史记录
    项目必备!永无 bug 注释
  • 原文地址:https://www.cnblogs.com/zyfdeblog/p/4721831.html
Copyright © 2011-2022 走看看