前言
曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。
在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。
在实现的过程中,总是会被提如下的需求:
这个字能不能大点或者醒目点儿?
颜感觉颜色和设计稿有差别,能不能再调调?
怎么老是崩溃啊,行不行啊?
…
所以,工作过一年后你会发现,自己的工作重点就是**将找各种各样的组件、框架,拖拖拽拽,改改样式。**在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!都不好意思说自己是搞技术的。
造成这种局面的有两种原因:
- 所开发的App功能要求并不复杂,在性能上呢,也不需要极致的追求;
- 自己的意识不够,不知道如何从平凡的工作中提炼可优化的点,在向上提升方面也没有完整的规划。
正文如下
- Activity面试题
- Fragment面试题
- Service面试题
- Broadcast Receiver面试题
- WebView面试题
- Binder面试题
- Handler面试题
- AsyncTask面试题
- HandlerThread面试题
- IntentService面试题
- 视图工作机制面试题
- 事件分发机制面试题
- ListView面试题
- Android项目构建面试题(由于篇幅太长,今天就先分享到这里)
- ANR面试题
- OOM面试题
- Bitmap面试题
- UI卡顿面试题
- 内存泄漏面试题
- 内存管理面试题
- 冷启动和热启动面试题
- 其他优化面试题
- 架构模式面试题
- 插件化面试题
- 热更新面试题
- 进程保活面试题
- Lint面试题
- Kotlin面试题
Activity面试题
1、Activity是什么
Activity是四大组件之一,它提供一个界面让用户点击和各种滑动操作,这就是Activity
2、Activity四种状态
- runing
- paused
- stopped
- killed
3、Activity生命周期
- onCreate()
- onStart()
- onResume()
- onPause()
- onStop()
- onDestroy()
- onRestart()
4、进程的优先级
- 空进程
- 后台进程
- 服务进程
- 可见进程
- 前台进程
5、Activity任务栈
- 先进后出
6、Activity启动模式
- standard
- singletop
- singletask
- singleinstance
7、scheme跳转协议
Android中的scheme是一种页面内跳转协议,通过定义自己的scheme协议,可以跳转到app中的各个页面
- 服务器可以定制化告诉app跳转哪个页面
- App可以通过跳转到另一个App页面
- 可以通过H5页面跳转页面
Fragment面试题
1、Fragment为什么被称为第五大组件
Fragment比Activity更节省内存,其切换模式也更加舒适,使用频率不低于四大组件,且有自己的生命周期,而且必须依附于Activity
2、Activity创建Fragment的方式
- 静态创建
- 动态创建
3、FragmentPageAdapter和FragmentPageStateAdapter的区别</