Android知识点汇总

这篇博客详细介绍了Android的知识点,包括Activity生命周期、Service启动过程、Broadcast注册、进程保活策略、Context的理解、Activity-Window-View关系、LaunchMode、View绘制流程、事件分发机制、保存Activity状态、动画类型、跨进程通信方式、Binder机制、Handler原理、热修复原理、内存泄漏管理、Fragment通信、App优化策略、Java GC和ANR的解决方法等,是Android开发者面试必备参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Activity生命周期:

正常流程:onCreate()->onStart()->onResume()->onpause()->onStop()->onDestory();

再次点击回到Activity:onRestart()->onStart()->onResume()

android面试(2)-Activity篇

2.service生命周期:

(1)通过startService()启动:

 startService()->onCreate()->onStartCommon()->onDestory();

tips:startService()调用多次,onCreate只会执行一次,onStartCommon调用多次;

       调用stopService(),onDestory()执行,销毁服务;

       通过intent传值时,必须判null

(2)通过bindService()启动:

bindService()->onCreate()->onBind()->unBind()->onDestory()

android面试(3)-Service篇

3.Activity启动过程:

Launcher调用startActivitySafely()->PMS对AndroidManifest.xml文件进行解析,获取应用程序的相关信息(service,broadcast等)和要启动的Activity的配置信息(action,category等)->调用startActivity()->内部调用startActivityForResult()直接返回-1,表示不需要返回结果;->调用Instrumentation类的execStartActivity()获取AMS的代理对象,通过代理对象->调用checkStartActivityResult()方法,如果没有在配置清单中配置这个组件,这个方法会抛出异常;->调用application的scheduleLaunchActivity()获取一个ActivityClientRecord对象,其中保存这LoaderApk对象->调用handleLaunchActivity启动Activity组件;

4.Broadcast注册方式与区别:

(1)静态注册:

特点:不受页面的生命周期影响,即退出了页面,也可以接收到广播,会占用cpu资源,一般用于想开机自启动等等场景;

(2)动态注册:

特点:会受页面的生命周期影响,即退出页面,不会接收到广播,其优先级较高,一般用于通知UI更新;

5.HttpClient和HttpUrlConnection的区别:

HttpClient的api很多,但是不易扩展,所以在6.0时已经废弃;

HttpUrlConnection比较轻量级,易扩展;

6.Java虚拟机与Dalvik虚拟机区别:

Java虚拟机:

特点:基于栈,使用指令来载入和操作栈上数据,所需指

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值