
面试必问
文章平均质量分 89
datian1234
安卓开发架构群:924771892(面试资源与经验总结,BAT内推,高级UI、性能优化、架构师课程、NDK、混合式开发全方 面的 Android高级实践技术讲解以及在线答疑等。)
展开
-
【Android性能优化面试题】app对内存是如何限制的? 应该如何合理使用内存?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-12-05 17:51:52 · 3 阅读 · 0 评论 -
【Android性能优化面试题】冷启动、热启动的概念
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-12-04 17:54:44 · 6 阅读 · 0 评论 -
【Android性能优化面试题】当前项目中是如何进行性能优化分析的
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-12-01 22:16:20 · 10 阅读 · 0 评论 -
【Android性能优化面试题】 内存泄漏查找
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-30 22:10:55 · 8 阅读 · 0 评论 -
【Android性能优化面试题】TraceView的使用,查找CPU占用
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-29 21:50:50 · 8 阅读 · 0 评论 -
【Android性能优化面试题】Bitmap压缩,质量100%与90%的区别?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-28 21:52:33 · 14 阅读 · 0 评论 -
【Android性能优化面试题】什么时候会发生内存泄漏?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-27 21:53:00 · 7 阅读 · 0 评论 -
【Android性能优化面试题】内存优化,内存抖动和内存泄漏。
在Java中,每创建一个对象,就会申请一块内存,存储对象信息;每分配一块内存,程序的可用内存也就少一块;当程序被占用的内存达到一定临界程度,GC 也就是垃圾回收器(Garbage Collector)就会出动,来释放掉一部分不再被使用的内存。这本身没有问题,但是当频繁创建对象就会造成内存不断地攀升,在回收了之后又迅速涨起来,接着又一次的回收。在短时间内反复地发生内存增长和回收,这就是内存抖动(Memory Churn)。原创 2023-11-25 17:32:11 · 14 阅读 · 0 评论 -
【Android性能优化面试题】一张图片100x100在内存中的大小?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-24 17:39:51 · 16 阅读 · 0 评论 -
【Android组件内核面试题】 说Activity、Intent、Service 是什么关系?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-23 17:49:43 · 14 阅读 · 0 评论 -
【Android组件核心面试题】如何判断一个 APP 在前台还是后台?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-22 17:18:12 · 13 阅读 · 0 评论 -
【Android组件核心面试题】Fragment add与replace的区别,分别对Fragment的生命周期影响
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-21 17:39:09 · 13 阅读 · 0 评论 -
【Android组件核心面试题】Fragment的构造函数为啥不让传参?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-20 17:50:16 · 14 阅读 · 0 评论 -
【Android组件核心面试题】 Fragment的生命周期?
为了使fragment与其绑定的activity建立通信通道,你可以在fragment中声明一个接口,然后让activity实现它。这个fragment对象可以在生命周期方法onAttach中获得这个接口的实现,然后就可以调用这个接口的方法与其关联的activity进行通信了。原创 2023-11-17 18:38:06 · 20 阅读 · 0 评论 -
【Android组件核心面试题】介绍一下Android中的Context?
是否了解Context的相关知识?ContextImpl 是 Context API 的十分常见实现,它为 Activity 和其他应用程序组件提供基本上下文对象,说白了就是 ContextImpl 实现了抽象类的方法,我们在使用 Context 的时候的方法就是它实现的。ContextWrapper 类代理 Context 的实现,将其所有调用简单地代理给另一个 Context 对象(ContextImpl),可以被分类为修饰行为而不更改原始 Context 的类,其实就 Context 类的修饰类。原创 2023-11-16 17:43:19 · 14 阅读 · 0 评论 -
【Android组件内核面试题】什么是有序广播?
是否了解广播相关的知识?有序广播是广播中比较特殊的类型,广播接受者接收广播的时间是不一样的,它们之间是有先后顺序的。系统通过priority的大小来排列优先级别,数值越大级别越高。广播的传播可以依照优先级别逐个传递下去,也可以在某一接收者处中断,那样后面的接收者就无法收到广播。我整理了一套Android面试题合集,除了以上面试题,还包含【原创 2023-11-15 17:50:33 · 13 阅读 · 0 评论 -
【Android组件内核面试题】广播的分类与工作原理
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-14 13:54:42 · 16 阅读 · 0 评论 -
【Android组件内核面试题】BroadcastReciver的静态注册与动态注册的区别?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-13 17:53:59 · 16 阅读 · 0 评论 -
【Android组件内核面试题】 ContentProvider如何自定义与使用场景是什么?
是否了解ContentProvider真实场景使用,是否熟悉ContentProvider使用场景?答:@Override@Override@Override@Override@Override@Override初一看,这些接口跟数据库的访问接口类似。没错,ContentProvider就是特地来管理数据库中的数据的。那么既然作为通用的数据访问接口,ContentProvider为什么没有提供对普通文件的访问接口呢?原创 2023-11-11 18:28:51 · 23 阅读 · 0 评论 -
【Android组件内核面试题】Service和Thread的区别?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-10 22:17:48 · 16 阅读 · 0 评论 -
劲爆!阿里巴巴面试参考指南开源分享,程序员面试必刷
近几年受疫情影响各行各业的日子都不好过,虽然程序员日子也挺难,但是好在可以线上面试、线上办公,影响还是比较小的,但是去年教育行业的 “双减” 政策,导致又一大批岗位缺失程序员竞争压力突然递升;并且进入 2023年以来,国内多家大型知名互联网企业(知乎、字节、百度等)都发布了裁员计划,这样的现象不免让众多的程序员群体感受到了危机。与此同时,程序员入职这些企业的难度也在持续加大,如何顺利通过面试成为了大家所关心的话题。针对这些人群的需求,小编从阿里找来一份阿里巴巴面试参考指南),让大家在求职过程中旗开得胜。原创 2023-11-10 22:16:32 · 130 阅读 · 0 评论 -
【Android组件内核面试题】请描诉Activity的启动流程,从点击图标开始
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-09 22:17:04 · 15 阅读 · 0 评论 -
【Android组件内核面试题】Activity如何保存状态的?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-08 22:06:59 · 20 阅读 · 0 评论 -
【Android组件内核面试题】 Intent显示跳转与隐式跳转,如何使用?(美团)
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-07 22:09:44 · 15 阅读 · 0 评论 -
【Android组件内核面试题】Activity的4大启动模式,与开发中需要注意的问题,如onNewIntent() 的调用
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-06 22:03:07 · 19 阅读 · 0 评论 -
【Android Framework核心面试题】 LoginActivity配置的launchMode是何时解析的?
新建栈或者复用栈的必要条件是FLAG_ACTIVITY_NEW_TASK。SingleTask,SingleInstance会为mLaunchFlags自动添加FLAG_ACTIVITY_NEW_TASK。也就是说他们都有存在不使用当前栈的可能。新建栈或者复用已经存在栈的充分必要条件是什么?FLAG_ACTIVITY_NEW_TASK + taskAffinity(taskAffinity必须与当前显示的栈的rootAffinity不相同,taskAffinity默认是包名)。原创 2023-11-04 21:17:59 · 23 阅读 · 0 评论 -
【Android Framework核心面试题】为什么Dialog不能用Application的Context?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-11-03 22:18:42 · 25 阅读 · 0 评论 -
【Android Framework面试题】在清单文件中配置的receiver,系统是何时会注册此广播接受者的?
清单文件的解析过程,一般是由PKMS来完成,触发PKMS的执行的分为两个部分:1)在系统启动的过程中,会启动SystemServer 进程,而SystemServer进程会启动各种服务,这些服务包括PKMS,在启动PKMS的时候就会扫码apk安装路径下面的apk,然后解析AndroidManifest文件,并做持久化存储;2)app 安装的过程中,也会触发PKMS对apk进行检测,调用类似的流程解析 AndroidManifest文件。原创 2023-11-02 22:18:31 · 31 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——Activity启动流程分析
Activity的启动交由ATMS触发处理,在Activity启动前需要先在ActivityStarter类中解读包括Activity的启动模式在内的各种参数信息。确定好启动信息后通过创建一个黑白屏的方式反馈给用户一个信息:我们正在响应启动app的过程中。原创 2023-11-01 17:42:14 · 28 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——Android app进程是怎么启动的?
冷启动当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动,也就是先实例化Application。热启动当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,也就是直接从进程中启动,不需要重新创建Application,这个方式叫热启动。原创 2023-10-31 13:49:29 · 21 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——SystemServer进程的启动流程
启动Binder线程池,这样就可以与其他进程进行Binder跨进程通信。SystemServer在启动过程中,先初始化一些系统变量,加载类库,创建Context对象。创建SystemServiceManager,它用来对系统服务进行创建、启动和生命周期管理。启动各种系统服务:引导服务、核心服务、其他服务,共90多种。原创 2023-10-30 20:53:34 · 18 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——Zygote进程的启动流程
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-10-28 19:42:57 · 27 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——Android 系统启动流程
总的来说,系统启动流程是先通电,然后进入BootLoader引导阶段,然后再启动linux系统,然后再启动Android系统各进程。由底层开始启动,逐步启动上层的过程。我整理了一套Android面试题合集,除了以上面试题,还包含【原创 2023-10-27 17:12:30 · 22 阅读 · 0 评论 -
【Android面试题】Android Framework——IdleHandler是什么?怎么使用,能解决什么问题?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-10-26 15:30:19 · 17 阅读 · 0 评论 -
【Android面试题】Android Framework——IdleHandler是什么?怎么使用,能解决什么问题?
我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-10-16 21:48:30 · 47 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题—— Looper、handler、线程间的关系
一个线程 只能有一个 Looper,一个MessageQueue,可以有无数个 Handler。我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。原创 2023-10-09 17:08:37 · 47 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——ThreadLocal的原理,以及在Looper是如何应用的?
ThreadLocal是一个创建线程局部变量的类,它的实现机制决定了这个变量的作用域是线程,其他线程访问不了,利用这个机制,可以保障一个线程只有唯一的一个ThreadLocal变量。然后,在looper中通过prepare函数的设计,确保了一个ThreadLocal 只会和一个Looper进行绑定。通过这两个方式确保了一个线程只有一个ThreadLocal变量,一个ThreadLocal变量只有一个Looper,从而形成了一一对应的关系。我整理了一套Android面试题合集,除了以上面试题,还包含【原创 2023-10-02 16:19:41 · 52 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——Android中Pid&Uid的区别和联系
不同的应用具有唯一的UID,同一个UID可具有不同的PID;针对不同的PID之间数据的暴露可采用私有暴露和权限暴露,针对不同的UID之间可通过完全暴露的方式;如果一个应用是系统应用,则不需要其他应用暴露,便可直接访问该应用的数据。我整理了一套Android面试题合集,除了以上面试题,还包含【原创 2023-09-28 21:14:01 · 71 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题—— Binder线程池的工作过程是什么样?
Binder主线程:进程创建过程会调用startThreadPool()过程中再进入spawnPooledThread(true),来创建Binder主线程。编号从1开始,也就是意味着binder主线程名为binder_1,并且主线程是不会退出的。Binder普通线程:是由Binder Driver来根据是否有空闲的binder线程来决定是否创建binder线程,回调spawnPooledThread(false) ,isMain=false,该线程名格式为binder_x。原创 2023-09-26 21:44:28 · 67 阅读 · 0 评论 -
【Android面试题】Android Framework核心面试题——描述下Binder机制原理?
Binder是Android提供的一套进程间相互通信框架,它是一种效率更高、更安全的基于C/S架构的IPC通信机制,其本质也是调用系统底层的内存共享实现。它基于开源的 OpenBinder 实现,从字面上来解释 Binder 有胶水、粘合剂的意思,顾名思义就是粘和不同的进程,使之实现通信。我整理了一套Android面试题合集,除了以上面试题,还包含【原创 2023-09-01 22:01:52 · 73 阅读 · 0 评论