zoukankan      html  css  js  c++  java
  • Android 基础总结

          学了也有几个月的android了,基础还是很薄弱,本来已经记住的东西时间长了还很容易忘记,大概也许可能是老了。。。所以只能纪录一下了,也为以后换工作面试做个参考。

     一, Activity

     Q:说下Activity的生命周期?
           在正常情况下,Activity的常用生命周期就只有如下7个
    • onCreate():表示Activity正在被创建,常用来初始化工作,比如调用setContentView加载界面布局资源,初始化Activity所需数据等;
    • onRestart():表示Activity正在重新启动,一般情况下,当前Acitivty从不可见重新变为可见时,OnRestart就会被调用;
    • onStart():表示Activity正在被启动,此时Activity可见但不在前台,还处于后台,无法与用户交互;
    • onResume():表示Activity获得焦点,此时Activity可见且在前台并开始活动,这是与onStart的区别所在;
    • onPause():表示Activity正在停止,此时可做一些存储数据、停止动画等工作,但是不能太耗时,因为这会影响到新Activity的显示,onPause必须先执行完,新Activity的onResume才会执行;
    • onStop():表示Activity即将停止,可以做一些稍微重量级的回收工作,比如注销广播接收器、关闭网络连接等,同样不能太耗时;
    • onDestroy():表示Activity即将被销毁,这是Activity生命周期中的最后一个回调,常做回收工作、资源释放
    延伸:从整个生命周期来看,onCreate和onDestroy是配对的,分别标识着Activity的创建和销毁,并且只可能有一次调用; 从Activity是否可见来说,onStart和onStop是配对的,这两个方法可能被调用多次; 从Activity是否在前台来说,onResume和onPause是配对的,这两个方法可能被调用多次; 除了这种区别,在实际使用中没有其他明显区别;
     
     Q:Activity A启动另一个Activity B会回调哪些方法?如果Activity B是完全透明呢?如果启动的是一个Dialog呢?
              Activity A 启动另一个Activity B,回调如下
    • Activity A 的onPause() → Activity B的onCreate() → onStart() → onResume() → Activity A的onStop();
    • 如果B是透明主题又或则是个DialogActivity,则不会回调A的onStop;

     Q:谈谈onSaveInstanceState()方法?何时会调用?
     Q:onSaveInstanceState()与onPause()的区别?
     Q:如何避免配置改变时Activity重建?
     Q:优先级低的Activity在内存不足被回收后怎样做可以恢复到销毁前状态?
     Q:说下Activity的四种启动模式?(有时会出个实际问题来分析返回栈中Activity的情况)
     Q:谈谈singleTop和singleTask的区别以及应用场景
     Q:onNewIntent()调用时机?
     Q:了解哪些Activity启动模式的标记位?
     Q:如何启动其他应用的Activity?
     Q:Activity的启动过程?

    其余的参考文章 https://juejin.im/post/5c8211fee51d453a136e36b0#heading-56

  • 相关阅读:
    光与爱的世界
    [家里训练20_02_28]ABC
    [爬虫]美术作业,爬虫和百度图片
    [机器学习]第六、七周记录
    数据类型和对象
    设备对象
    进程、内存线程
    创建符号链接
    SCM管理器
    Nt内核函数原型and中文
  • 原文地址:https://www.cnblogs.com/suppler/p/10695341.html
Copyright © 2011-2022 走看看