Android面试知识点梳理
Android四大组件
Activity
是什么
1.app中的一个页面就是一个activity
2.activity之间的通信依赖于intent
3.每一个activity都需要在manifest里面配置
4.每个app都有且只有一个main activity,是app的入口。默认情况下,只有在main activity里面才能跳转到其他activity,无法直接启动非main activity,因为其他activity包路径是启动器直接访问不到的。
生命周期
为了防止应用在系统后台无限制的占用内存导致系统卡顿等问题,Android为activity引入了生命周期机制,使得activity的产生、释放,变得更加规范可控。例如:每一个activity都有生命周期,第一次启动的时候会调用onCreate()->onStart()->onResume(),释放的时候又会调用onDestroy()。这些都是由系统发起调用的,这样一来,activity生命周期可控的目的就达到了。
借用一个网上讲的很详细的图:
创建activity的时候的生命周期:onCreate(); onStart(); onResume();
activity切到后台的时候:onPause(); onStop();
activity返回前台onRestart(); onStart(); onResume();
此时需要注意的是,当activity在后台因为内存不足被杀死后,返回前台所需要的步骤和上面有所不同:onCreate(); onStart(); onResume();
在锁定屏幕和熄屏的时候:onPause(); 解锁后:onResume();
值得注意的是 生命周期对于activity来说十分重要,所以需要关注一下每一个生命周期控制方法的作用,以及存在的意义。
例如在从一个activity跳转到另一个activity的时候,会经历的过程是怎么样的:
假设有A 和 B两个activity,A 切换到B
怎么用
Service
是什么
怎么用
Broadcast
是什么
怎么用
ContentProvider
是什么
怎么用
底层原理
binder
垃圾回收
Java基础
基本数据类型
基本容器
操作系统
锁机制
进程通信
算法
codetop
CodeTop是一个很不错刷题网站,建议收藏:)
121. 买卖股票的最佳时机
解题思路:
1.暴力解法:
class Solution