zoukankan      html  css  js  c++  java
  • Intent和Activity知识点总结

    1、Intent的跳转传值
    2、Intent的隐式启动(用于不同应用中)与显示启动(同一应用中)
    3、Activity的生命周期
        void onCreate()——Activity已经被创建完毕,创建时调用
        void onStart()——Activity已经显示在屏幕,但没有得到焦点
        void onResume()——Activity得到焦点,可以与用户交互
        void onPause()——Activity失去焦点,无法再与用户交互,但依然可见
        void onStop()——Activity不可见,进入后台
        void onDestroy()——Activity被销毁
        void onRestart()——Activity从不可见变成可见时会执行此方法
    4、Activity的四种启动模式
        standard 标准启动模式  默认
        singleTop 单一顶部模式——如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。保证栈顶如果存在,不会重复创建。
        ——> 应用场景:浏览器的书签、短信回话列表
        singeTask 单一任务栈,在当前任务栈里面只能有一个实例存在——当开启activity的时候,就去检查在任务栈里面是否有实例已经存在,如果有实例存在就复用这个已经存在的activity,并且把这个activity上面的所有的别的activity都清空,复用这个已经存在的activity。保证整个任务栈里面只有一个实例存在
        ——> 应用场景:浏览器的activity,如果一个activity的创建需要占用大量的系统资源(cpu,内存)一般配置这个activity为singletask的启动模式【其他的网页放在缓存中】。webkit内核 c代码
        singleInstance【单例模式】启动模式非常特殊, activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在——在一个单独的任务栈中创建该Activity的实例,然后再也不会创建第二个实例了,以后的每次启动该Activity,都是把该Activity所在的栈显示至前台
        ——> 应用场景: 电话来电界面
        注:返回时,是一个一个栈退出的,不进行跳转
    5、Activity销毁时传递值
        A界面跳转至B界面,B界面点击后回到A界面,同时将值传到A界面上显示
        <1> 在A界面启动Activity是要用startActivityForResult(),获取返回至
        <2> 在A界面使用onActivityResult(),得到值及显示
        <3> B界面实现值传递就是putExtra(),然后通过setResult(0,intent),把这个Intent对象传递给上一个Activity
        <4> 通过判断请求码和结果码确定返回值的作用 --> 当有多个B界面时
    requestCode --> 请求码,判断数据来自于哪个Activity
    resultCode --> 结果码,判断数据是来自Activity的什么数据

  • 相关阅读:
    当前日志损坏解决一例
    Oracle 1204 RAC failover 测试 (一)
    Logical standby跳过个别SQL不Apply的测试
    Data guard 又出问题了
    CPIO无反应
    回答棉花糖先生关于我说的DB自动增加Index的问题
    SSD硬盘,先不要用在Server上
    ORA00304: requested INSTANCE_NUMBER is busy,终于解决
    .Net运行时的相互关系
    CSS布局探密04
  • 原文地址:https://www.cnblogs.com/tyzl/p/5416612.html
Copyright © 2011-2022 走看看