Android面试
2021-03-09 21:05:15 37 举报
AI智能生成
Android面试问题,知识点
作者其他创作
大纲/内容
四大组件
Activity
Activity的生命周期有哪些?
Activity的横竖屏切换会发生什么?
什么时候Activity只走onPause而不走onStop
什么时候导致Activity的onDestroy不执行?
如果任务栈的顶部Activity的启动模式是singleTop,则自己启动自己生命周期如何变化?
如果任务栈中存在singleTask模式的Activity(A),通过当前Activity(B)跳转到A后,各自生命周期变化
Service
IntentService的作用?
Service的启动方式有哪些?
bindService和startService有什么不同?
绑定的Service还能使用startService来调用么?
onStartCommand的返回值有哪些?作用是什么?
如何保证Service不被杀死?
BroadcastReciever
广播的种类有哪些?
LocalBroadcastReciever
广播的注册方式有哪些?
ContentProvider
进程
进程有哪些?它们的优先级是怎么样的?
死锁的四个必要条件是什么?
控件
LinearLayout和RelativeLayout的性能对比
ListView和RecyclerView的区别?
为什么不建议在子线程中更新UI?
JVM
GC
强引用置为 null,会不会被回收?
GC Root有哪些?
GC算法有哪些?
如何确定对象是否被GC Root引用?
GC回收原理
引用类型有哪些?
Bitmap.recycle()会立即回收么?什么时候会回收?如果没有地方使用这
个 Bitmap,为什么垃圾回收不会直接回收?
个 Bitmap,为什么垃圾回收不会直接回收?
不可达的对象一定会被回收么?
JVM的内存模型
堆
方法区
虚拟机栈
本地方法栈
程序计数器
性能
启动优化
冷启动和热启动是什么?
冷启动的流程?
启动时黑屏和白屏的原因?如何解决?
怎么保证启动不卡顿?
内存
内存泄漏有哪些?
内存溢出有哪些?
Bitmap
Bitmap优化点
图片的三级缓存指的是什么?
Bitmap 如何处理大图,如一张 30M 的大图,如何预防 OOM?
质量压缩指的是什么?
内存抖动
ANR
什么是ANR?哪些情况下会出现ANR?
如何快速定位ANR?
渲染
并发
线程
Android 中还了解哪些方便线程切换的类?
HandlerThread原理是什么?
线程有哪几个状态?
线程之间的状态如何转换?
线程中是否可以创建handler?
线程中的run方法结束后还可以通过线程对象调用start方法么?
子线程如何向子线程发送消息?
线程池
线程池的好处有哪些?
线程池有哪几种?
线程池的几个参数含义是什么?
线程池的运行策略是什么?
线程池的复用原理是什么?
线程池的拒绝策略有哪些?
线程池的工作队列有哪些?
讲讲AsyncTask原理
消息机制
谈谈消息机制
loop无限循环为什么不会造成ANR
一个线程是否可以创建多个Handler?
使用postDelay后消息队列会有什么变化?
Message如何创建,哪种方式更好?
消息屏障是什么?消息队列如何区分消息屏障?
如果子线程中的消息队列已处理完任务,如何做比较节约资源?
消息机制如何完成线程之间到切换的?
框架
路由
retrofit
retrofit如何与okhttp关联起来的
作用
用到到设计模式
okhttp
okhttp特点
分发器
异步请求enqueue
同步请求
线程池
okhttp使用
okhttp使用中到缺陷
拦截器
自定义拦截器
5个默认拦截器
rxjava
map和flatmap的区别
LeakCanary
leakCanary如何自己监测内存泄漏的?
数据结构
Deque
ArrayDeque
Map
HashMap
LinkedHashMap
LruCache
泛型
什么是泛型?
泛型的好处是什么?
泛型的特点
PECS
收藏
0 条评论
下一页