Android技术知识面试,妥妥的Android开发经验谈

妥妥的去面试之Android基础(一)

2019-02-12  本文已影响50人  树獭非懒

笔者由于在找工作,所以近期最主要的任务就是准备面试,不打无准备之仗。只有你准备充分了,那么你想要的机会才有机会入你怀中。

笔者会将准备面试的学习过程记录下来,方便自己复盘的同时也希望能给一道找工作的小伙伴们一些帮助。笔者准备的内容大纲如下

Android面试大纲.png

那么先上个正菜预热一下QAQ

1.什么是ANR?出现的原因是什么?实际开发中如何解决?

参考:Android开发艺术探索 P496

延伸:

ANR的两种机制

准确的说是ANR机制,它可以分为两部分:

ANR的一般类型

1. KeyDispatchTimeout(常见): input事件在5S内没有处理完成发生了ANR。

2. BroadcastTimeout : 前台Broadcast:onReceiver在10S内没有处理完成发生ANR。
后台Broadcast:onReceiver在60s内没有处理完成发生ANR。

3. ServiceTimeout : 前台Service:onCreate,onStart,onBind等生命周期在20s内没有处理完成发生ANR。
后台Service:onCreate,onStart,onBind等生命周期在200s内没有处理完成发生ANR

4. ContentProviderTimeout : ContentProvider 在10S内没有处理完成发生ANR

可参考此文章

2.谈谈Activity和Fragment的生命周期

生命周期.png

onStart和onStop、onPause和onResume这两对看起来差不多,有什么区别呢?

最明显的区别在于onStart和onStop这一对是从Activity是否可见这个角度来回调的,onResume和onPause是从Activity是否位于前台这个角度来回调的。

onPause能不能执行耗时的操作?

不可以,耗时的操作应该尽量放在onStop中去做,这样可以让新的Activity尽快显示出来并切换到前台。

注意:栈顶的Activity需要先onPause后(消失于前台),新的Activity才能启动。

3.横竖屏切换时Activity的生命周期

系统配置发生改变后,比如横竖屏切换,它的onPause、onStop、onDestroy都会被调用,同时Activity是在异常情况下终止的,系统就会在onStop方法之前调用onSaveInstanceState来保存当前Activity的状态。
在屏幕方向切换回来的时候,会依次调用onCreate、onStart、onResume方法,并可以在onRestoreInstanceState和onCrate中取出之前保存的数据并恢复。

注意: onSaveInstanceState只会在Activity被异常终止的情况下调用。

4.Android中进程的级别和它们的区别

5.Android版本的新特性你知道哪些?

这个我知道的不是很全,Android5.0有了MaterialDesign的设计风格。Android6.0的动态权限管理。Android7.0的分屏多任务,Android8.0的画中画。

Android5.0新特性

Android6.0新特性

Android7.0新特性

Android8.0新特性

上一篇下一篇

猜你喜欢

热点阅读