Framework内核解析面试题汇总
- Android中多进程通信的方式有哪些?
- 描述下Binder机制原理?(东方头条)
- 为什么 Android 要采用 Binder 作为 IPC 机制?
- Binder线程池的工作过程是什么样?(东方头条)
- AIDL 的全称是什么?如何工作?能处理哪些类型的数据?
- Android中Pid&Uid的区别和联系
- Handler怎么进行线程通信,原理是什么?(东方头条)
- ThreadLocal的原理,以及在Looper是如何应用的?(字节跳动、小米)
- Handler如果没有消息处理是阻塞的还是非阻塞的?(字节跳动、小米)
- handler.post(Runnable) runnable是如何执行的?(字节跳动、小米)
- Handler的Callback存在,但返回true,handleMessage是否会执行?(字节跳动、小米)
- Handler的sendMessage和postDelay的区别?(字节跳动)
- Looper.loop会不会阻塞主线程?
- Looper无限循环的阻塞为啥没有ANR
- Looper如何在子线程中创建?(字节跳动、小米)
- Looper、handler、线程间的关系。例如一个线程可以有几个Looper可以对应几个Handler?
- 子线程发消息到主线程进行更新 UI, 除了 handler 和 AsyncTask, 还有什么
- IdleHandler是什么?怎么使用,能解决什么问题?
- Android 系统启动流程
- Zygote进程的启动流程
- 为什么zygote没有采用binder快进程通信
- 说说APP的界面如何绘制到屏幕上的,简单聊聊window的层级结构树
- 你熟悉input吗?在activity的oncreate的方法中做耗时操作会不会产生ANR,在onclick的方法耗时会不会产生ANR,简单聊聊
Android组件内核面试题汇总
- Acitvity的生命周期,如何摧毁一个Activity? (美团)
- Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用
- Intent显示跳转与隐式跳转,如何使用?(美团)
- Activity A跳转B,B跳转C,A不能直接跳转到C,A如何传递消息给C?(美团)
- Activity如何保存状态的?
- 请描诉Activity的启动流程,从点击图标开始。(B站)
- Service的生命周期是什么样的?
- 你会在什么情况下使用Service?
- Service和Thread的区别?
- IntentService与Service的区别?
- ContentProvider如何自定义与使用场景是什么?
- BroadcastReciver的静态注册与动态注册的区别?
- 广播的分类与工作原理
- 什么是有序广播?
- 介绍一下Android中的Context?
- Fragment的生命周期? (美团)
- Fragment的构造函数为啥不让传参?(B站)
- Fragment add与replace的区别,分别对Fragment的生命周期影响(美团)
- 如何判断一个 APP 在前台还是后台?
- 说Activity、Intent、Service 是什么关系...
程序性能优化与数据持久化面试题汇总
- 一张图片100x100在内存中的大小?(字节跳动)
- 内存优化,内存抖动和内存泄漏。(东方头条)
- 什么时候会发生内存泄漏?举几个例子(美团)
- Bitmap压缩,质量100%与90%的区别?(东方头条)
- TraceView的使用,查找CPU占用(东方头条)
- 内存泄漏查找 (酷我音乐)
- Android四大组件(以及Application)的onCreate/onReceiver方法中Thread.sleep(),会产生几个ANR?(美团)
- 当前项目中是如何进行性能优化分析的
- 冷启动、热启动的概念(酷我音乐)
- 优化View层次过深问题,选择哪个布局比较好?(美团)
- 为何要用 ContentProvider?它与 sql 的实现上有什么区别?
- app对内存是如何限制的? 应该如何合理使用内存?
- 为什么冷启动会有白屏黑屏问题?
- 如何对apk进行瘦身
- 说下冷启动与热启动是什么, 区别, 如何优化, 使用场景等
- LeakCanray 2.0为啥不需要在application里调install?(B站)
- 如何避免大图片 OOM
- 怎样检测函数执行是否卡顿 (字节跳动)
- ANR 线上问题如何监控(滴滴)
- Android 有哪些存储数据的方式?
开源框架面试题汇总
- 组件化在项目中的意义(阿里)
- 组件化中的ARouter原理(阿里)
- 谈一下你对APT技术的理解(美团)
- 谈谈Glide框架的缓存机制设计(B站)
- 谈谈你对Glide生命周期的理解(腾讯)
- 项目中使用Glide框架出现内存溢出,应该是什么原因?(美团)
- 谈谈OkHttp框架的原理(B站)
- Android如何发起网络请求,你有用过相关框架码?OkHttp框架解决了你什么问题?(美团)
- RxJava框架线程切换的原理,RxJava1与RxJava2有哪些区别?
- 谈谈LiveData的生命周期是怎么监听的? (B站)
未完待续.......