面记 | android 应用开发(某半导体公司)
问题
布局
Q:能说说安卓常见的一些布局吗?
Q:有没有做过一些布局上的一些优化工作?过度绘制怎么优化的?
相对布局VS约束布局
Q:相对布局和约束布局有什么区别?后面约束布局的出现有什么优势?
消息机制(源码)
Q:能说说安卓的一个消息机制吗?有没有去看过消息机制的一些源代码?
Q:一个线程里面会有几个looper对象?有没有看过looper是怎么实现的?有没有了解过一个什么样的机制能够保证他一个线程只有一个looper吗?
Q:如果想在此线程里面就是再加一个looper开一个自己的消息循环需要怎么去做?
Activity 启动模式
Q:能说一下的启动模式吗?
Q:有没有可能还有第五种启动模式?
Q:现在自己做应用,是一个什么样的启动模式?如果让你写一个 APP ,那这个 APP 入口一般情况来说你是用什么样的启动模式?
ANR 原因与时间
Q:工作中有没有遇到些 ANR 的问题?然后介绍一下ANR的原因,是怎么去分析处理的。有没有了解过就是ANR 产生的那个最直接的那几个原因是什么?
误区错误答案:主线程发生阻塞超过一定时间(这只是间接原因)
Q:这几个原因具体的时间是多少?
NDK/JNI 开发经验
加分项
Android 系统启动流程
Q:有没有了解 Android 的开机流程?讲一下 init 开始到 launcher 起来为止的流程。