持续更新

1.Activity生命周期

 1.1 onCreate();
 1.2 onStart();
 1.3 onResume();
 1.4 onPause();
 1.5 onStop();
 1.6 onRestart();
 1.7 onDestory().

注:
1.启动Activity:先调用onCreate(),然后调用onStart(),最后调用onResume(),Activity进入运行状态;
2.当前Activity被覆盖或锁屏:先调用onPause(),然后暂停当前Activity的执行状态;
3.解除Activity覆盖或解锁时:先调用onResume(),然后再次进入运行状态;
4.跳转到新的Activity界面或按Home键回到主屏:应用进入后台,系统会先调用onPause(),然后调用onStop(),转入停滞状态;
5.返回到该Activity:先调用onRestart(),然后调用onStart(),最后调用onResume(),重新进入到运行状态;
6.在第1.2/1.4步骤情况下,当前Activity被系统kill,用户操作退回到当前Activity:调用onCreate()->onStart()->onResume(),进入运行状态;
7.用户退出当前Activity:先调用onPause(),然后调用onStop(),最后调用onDestory(),结束当前Activity的运行状态.

2.Activity启动模式有哪些?

 2.1 standard(默认的启动模式,每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈);
 2.2 singleTop(如果某个Activity自己激活自己,即任务栈栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例);
 2.3 singleTask(如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把此Activity放入栈顶,并把该Activity以上的Activity实例都出栈);
 2.4 singleInstance(如果应用1的任务栈中创建了MainActivity实例,如果应用2也要激活MainActivity,则不需要创建,两应用共享该Activity实例).

启动模式:启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置.
任务栈:每个应用都有一个任务栈,是用来存放Activity的,功能类似于函数调用的栈,先后顺序代表了Activity的出现顺序.

3.Fragment生命周期?与Activity生命周期有何不同?

 3.1 Fragment生命周期图

 3.2 Fragment生命周期与Activity的对应关系

4.Fragment之间有哪些数据传递的方式?

 4.1 通过Bundle传值(只有重新初始化时才能给它数据);
 4.2 通过共同的Activity传递;
 4.3 通过回调进行值传递;
 4.4 存储数据到内存中进行共享。

5.什么是Intent?Intent如何进行匹配?Intent显示/隐式的特点、区别、适用范围?

 5.1 什么是Intent
  Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件。
 5.2 Intent如何进行匹配?
  Intent的解析机制主要是通过查找已经注册在AndroidManifest.xml中的所有IntentFilter以及其中定义的Intent,最终找到匹配的Intent。
 5.3 Intent显示/隐式的特点、区别、适用范围

  • 特点
    • 显示Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,去调用Intent.setComponent()、Intent.setClassName()或Intent.setClass()方法 或者在new Intent(A.this,B.class)指明需要激活的组件 。
    • 隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下。
  • 区别
    • 显式Intent:显式意图明确指定了要激活的组件是哪个组件。
    • 隐式Intent:隐式Intent则没有指明要激活要激活的组件,Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
  • 适用范围
    • 显示Intent:一般是在相同的应用程序内部实现的。
    • 隐式Intent:一般是用于在不同应用程序之间。

6.Service生命周期

7.BroadcastReceiver的作用、注册方式

 7.1 作用:用于接收来自系统和应用中的广播。
 7.2 注册方式
  7.2.1 静态注册:在AndroidManifest.xml文件中进行配置,如:

<receiver android:name=".TestReceiver">      <intent-filter>          <action android:name="android.intent.action.TEST_BROADCAST"/>          <category android:name="android.intent.category.DEFAULT" />      intent-filter>  receiver>  

  7.2.2 动态注册:动态注册需要在代码中动态的指定广播地址并注册,如:

TestReceiver receiver = new TestReceiver();          IntentFilter filter = new IntentFilter();  filter.addAction("android.intent.action.TEST_BROADCAST");           registerReceiver(receiver, filter);

更多相关文章

  1. android打开第三方APP
  2. android用户界面之Widget教程实例汇总
  3. Android(安卓)播放视频的方法+播放测试地址 http
  4. Android(安卓)GPS定位及实例
  5. 学习Android过程中的一些博客或工具收集
  6. React Native Android环境配置 第一个实例的坑
  7. Android(安卓)>> 26. RecyclerView(一)
  8. 安卓复选框(Checkbox)
  9. Android实现3个圆圈的动画

随机推荐

  1. Android音乐播放器制作
  2. Android(安卓)设置EditText光标颜色及粗
  3. [Android] Android(安卓)使用Greendao gr
  4. Android(安卓)Activity界面切换添加动画
  5. Android(安卓)UI之QMUI_Android(腾讯ui库)
  6. Android(安卓)Wifi模块分析(二)
  7. 为TextView添加上下边框
  8. Failed to fetch URL https://dl-ssl.goo
  9. Android(安卓)SDK离线安装
  10. 让android studio 支持Lambda