博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 基础总结
阅读量:5157 次
发布时间:2019-06-13

本文共 1438 字,大约阅读时间需要 4 分钟。

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

 一, 

 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:

其余的参考文章 

转载于:https://www.cnblogs.com/suppler/p/10695341.html

你可能感兴趣的文章
kafka + storm 错误 Async loop died
查看>>
微信小程序 开发文档
查看>>
《玩转D语言系列》一、通过四个版本的 Hello Word 初识D语言
查看>>
破译实践
查看>>
星星评分
查看>>
validform 一行代码完成所有验证
查看>>
工作中上的一点思考
查看>>
bzoj 2440: [中山市选2011]完全平方数【莫比乌斯函数+二分】
查看>>
android Base64 加密
查看>>
python 遍历文件夹
查看>>
day17 appium环境搭建
查看>>
图的最短路径
查看>>
解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
查看>>
jquery笔记
查看>>
(转载)Manacher'sAlgorithm: O(n)时间求字符串的最长回文子串
查看>>
oracle的存储过程
查看>>
oracle 11g 通过在线重定义方式修改表结构
查看>>
基于webpack模块加载,ts里对系统对象prototype的扩展
查看>>
将博客搬至CSDN
查看>>
C++包含头文件时尖括号和双引号区别
查看>>