Android面试――普通2019-11-08 本文已影响0人 半城樱花灬半城雨 Activity启动模式 Activity-Window-View三者的联系 ActivityThread-AMS-WMS工作原理 AlertDialog,popupWindow,Activity区别 ANR-OOM原因及优化 Android大体架构图 Android数据存储方式 Android各个版本API的区别 Android启动有几个线程 Android提供的四种操作线程的方法 APP启动时长统计 APP从外部启动 APP打包流程 APP体积减小 APP唤起其他进程的方式 APP启动黑白屏原因 ArrayList和LinkedList的区别 AsyncTask机制 Bitmap的理解 Binder原理详解 bindService与Activity的生命周期联动 Bundle设计意图 BrodcastReciver收发原理 Camera打开步骤 ClassLoader详解 ConcerentHashMap内部实现原理 ContentProvider的设计意图 ContentProvider、ContentResolver和ContentObserver的作用 Crash异常日志捕捉 抽象类和接口的区别 常用数据结构 单例攻击解决办法 对象的生命周期 多进程和多线程的优缺点 多线程产生死锁的四个必要条件 代码去重 动画框架实现原理 低版本Api调用高版本Api 泛型相关 泛型的理解 反射的理解 finally中代码是在return前还是后执行 Fragment在各种情况下的生命周期 Fragment获取Activity为null和重叠情况 GC垃圾回收策略 Handler机制 Handler-looper-Message-MessageQueue HashMap内部实现原理 Http一次网络请求流程 http与https的区别 Interface与Abstracted的区别 IntentService原理 界面刷新详解16.6ms 静态分派与动态分派 进程调度 进程保活 类单继承接口多实现原因 ListView图片加载错乱及优化 LinearLayout、RelativeLayout、FrameLayout的特性及对比 Looper机制的理解 LruCache实现原理 Lock-Synchronized-ReentrantLock的区别 volatile―Lock―Theadlocal―synchronized 类锁―方法锁 模块化的优点 描述一次网络请求流程 内存模型详解 内部类详解 JAVA内存模型 内部类引用外部类局部变量用final Object作为Key的条件 权限管理检查和分发 RecyclerView与ListView的缓存区别 沙箱化机制 Service两种启动方式的区别 深拷贝浅拷贝Clone() SpareArray原理 SpareArray/ArrayMap替换HashMap原因 SP是非进程同步的 Signature数字证书签名作用 String为什么要设计成不可变 三级缓存 SurfaceView双缓冲机制 TCP与UDP的区别 TCP的三次握手与四次挥手 ThreadLocal原理 Throwable异常的理解 onTouch和onTouchEvent事件的区别 图片加载原理 View刷新―绘制―动画机制 View事件分发流程 View自定义优化 View自定义的原理 View自定义的机型适配 View封装时获取宽高 wait-notify-notifyAll 性能优化大全 性能优化 性能优化2 性能优化典范系统启动流程 序列化的作用 线程的几种停止方法 应用安装过程 依赖注入的理解 注解的理解