Android 面试知识复习
由于以前写博客比较少,没有任何的知识存储,本专栏梳理一下安卓面试需要准备的知识点,也把自己的知识系统化。如果这个过程能帮到一些安卓开发者,那这是我的幸运。GOOD LUCK.
听风丨说话
这个作者很懒,什么都没留下…
展开
-
Android面向面试复习----Fragment复习
Fragment复习1. Fragment为什么被称为第五大组件Fragment为什么被称为第五大组件 使用频率高,有自己的生命周期,同时可以灵活的加载到Activity中去。它是依赖于Activity的,不能单独存在。Fragment的加载静态加载 在xml布局中使用fragment标签加载进来,name指定对应的Fragment即可。 动态加载/...原创 2018-02-11 19:22:07 · 333 阅读 · 0 评论 -
Android面向面试复习----Activity复习
Activity复习 Activity是我们学习Android的时候的第一个组件,它提供界面用户可以进行滑动、点击等交互。使用上很简单,但是有一些相关的知识也许需要很好的掌握才能用好。1. Activity生命周期Activity的四种状态running: 活动状态,可以交互paused: 失去焦点,或者被盖住的情况下,无法进行交互stopped: Activity被完...原创 2018-02-11 17:48:13 · 343 阅读 · 0 评论 -
Android面向面试复习----Handler详解
Handler详解 这篇文章缘起于一道面试题: Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系 虽然能够大致说明白,但是自己对答案也不太满意,翻一翻源码,从源码角度剖析一番。1. 概述Handler相关对象模型关系首先看一下Handler、Looper、MessageQueue、Mess原创 2018-02-04 13:43:10 · 516 阅读 · 1 评论 -
Android面向面试复习----AsyncTask详解
AsyncTask详解1. 什么是AsyncTask? 封装了线程池和Handler,这个框架主要是用来执行异步任务的,内部集成了Handler,所以它可以很灵活的在UI线程和异步线程之间进行切换。2. AsyncTask介绍三个参数 AsyncTask3. AsyncTask实例创建AsyncTask的子类,实现各方法,分别处理相应的逻辑。pub原创 2018-02-03 14:46:37 · 401 阅读 · 0 评论 -
Android面向面试复习----IntentService详解
IntentService详解(附个推IntentService示例)1. 什么是IntentService?IntentService继承Service,内部创建了HandlerThread和异步线程的Handler来进行耗时操作启动方式和Service一样在开启IntentService时,会回调执行onHandleIntent方法(异步线程中执行,非UI线程)执行完成后会自动原创 2018-02-03 16:16:38 · 432 阅读 · 0 评论 -
Android面向面试复习---Android构建流程
Android构建流程 如果公司项目比较大,那么持续集成就显得很有必要。需要搭建持续集成的环境的话,Android项目的构建流程就有必要了解清楚了。1. 首先,拿一张Android构建的详细流程图出来,然后我们再根据图进行梳理。 可能很多人都知道,Android项目的构建包括:资源合并、源码编译、dex生成及打包签名等步骤,但是个中细节都了解吗?2. 简单而不复原创 2018-01-24 20:23:31 · 463 阅读 · 0 评论 -
Android面向复习----通俗理解Android中的Gradle
Android面向复习—-通俗理解Android中的Gradle1. Gradle是什么? Gradle是一种构建工具,它可以帮你管理项目中的差异、依赖、编译、打包、部署等。它并不是一种语言,不能实现软件中的任何实际功能。2. Android工程中Gradle相关文件及功能 在一个安卓项目中,主要包括以下几个部分Gradle相关的文件(夹)Top-leve原创 2018-01-28 00:47:11 · 330 阅读 · 0 评论 -
Android面向面试复习----Proguard混淆技术详解
Proguard混淆技术详解1. Proguard是什么? Proguard是一个压缩、优化和混淆java字节码的免费工具。它有以下几个作用: 压缩(Shrink):检测并移除代码中无用的类、字段、方法和属性。优化(Optimize):对字节码进行优化,移除无用的指令。混淆(Obfuscate):使用a,b,c这样简短无意义的名称,对类、字段和方法进行重命名预检(原创 2018-01-29 22:04:08 · 506 阅读 · 0 评论 -
Android面向面试复习----HandlerThread的妙用
HandlerThread的妙用 很多博客讲了HandlerThread的用法,但是没有具体的应用场景,可能也是了解并未真正使用!1. HandlerThread是什么? handlerThread是内部有一个looper轮询器的Thread线程。HandlerThread产生的背景 google为了避免以下几种情况,给android开发者提供了这样一个异原创 2018-02-03 12:38:36 · 555 阅读 · 1 评论 -
Android面向面试复习---git版本控制
Android面向面试复习—git版本控制1. 几个概念说明工作区 项目存放的文件夹就是工作区。因为我们的所有的git操作都是在该区域进行的。版本库 工作区中的.git文件夹,里面存放的是git仓库相关的信息,它不属于工作区,是Git的版本库。暂存区(stage) Git的版本库中包括通过git add添加到暂存区的代码,存放临时代码的地方叫暂存区。通过一个图来看一下他们之间的关系。2原创 2018-01-24 00:11:47 · 439 阅读 · 0 评论 -
Android面向面试复习----冷启动优化
冷启动优化1. 什么是冷启动1. 冷启动的定义 冷启动就是在启动应用前,系统中没有该应用的任何进程信息。这时候启动应用就叫冷启动。2. 冷启动/热启动的区别 热启动:用户使用返回键(Home键)退出应用,然后马上又重新启动应用(进程在后台)。启动特点:1. 冷启动会创建Application和MainActivity,进行测量,绘制显示2. 热启动原创 2018-01-17 22:42:33 · 435 阅读 · 0 评论 -
Android面向面试复习----内存管理
内存管理1. 内存管理机制概述1. 分配机制 操作系统会为每个进程分配合理的内存大小,保证每一个进程能够合理的运行,而不至于内存不够用或者某个进程占用太多的内存。2. 回收机制 系统内存不足时,会有一个合理的回收再分配内存的机制,保证新的进程能够正常运行。2. Android内存管理机制1. 分配机制 弹性内存分配:开始分配一个小的内原创 2018-01-17 22:04:32 · 1682 阅读 · 0 评论 -
Android面向面试复习----内存泄漏
内存泄漏1. java内存泄漏基础知识1.1 java内存的分配策略静态存储区(方法区-静态数据、全局变量)栈区(局部变量,方法执行结束后,自动释放)–容量有限 方法中定义的基本变量和对象的引用变量都是在栈区中分配的堆区(new)–GC回收 new出来的对象,数组1.2 java是如何管理内存的通过关键字new申请内存空间对象的释放:原创 2018-01-12 21:59:14 · 875 阅读 · 0 评论 -
Android面向面试复习----UI卡顿
UI卡顿 UI卡顿是轻量版的ANR1、 UI卡顿的原理1. **60fps --> 16ms**:1s内绘制60帧,所以每一帧的绘制时间在16ms2. overdraw,大量重叠的布局或者背景被重复绘制2. UI卡顿原因分析1. 人为在UI线程中做轻微的耗时操作,导致UI线程卡顿;2. 布局Layout过于复杂,无法再16ms内完成渲染3. 同一时间动画执行的原创 2018-01-12 00:53:16 · 425 阅读 · 0 评论 -
Android面向面试复习----ANR
ANR面试解析1.1 什么是ANR Application Not Responding 换句话说,ANR是应用程序无响应的对话框,主要是在主线程中做了耗时操作导致的。三种情况会导致ANR5s内没有响应用户的输入事件(按键或者触摸事件等)BroadcastReceiver中10s内未结束Service在20s内无法处理完成1.2 造成ANR的主要原因原创 2018-01-09 19:54:54 · 608 阅读 · 0 评论 -
Android面向面试复习----OOM异常
OOM异常1. 什么是OOM 当前占用的内存加上app申请的内存资源超过了Dvlvik虚拟机的最大内存限制导致抛出Out of memory异常。2. 一些容易混淆的概念内存溢出/内存抖动、内存泄漏- 内存溢出:out of memory- 内存抖动:短时间内大量对象进出Young Generiation区(创建再被释放),导致频繁的触发GC。- 内存泄漏:进原创 2018-01-09 22:10:59 · 739 阅读 · 0 评论 -
Android面向面试复习----Bitmap
Android中的Bitmap1. recycle方法该方法是系统提供的,可以用来回收bitmap占用的堆内存以及native内存,同时清除该对象的引用。该操作不可逆,如果调用了recycle(),再次加载图片,则会抛出异常。所以,需要确保该图片不会被再次使用时才可以调用recycleAndroid系统建议我们不要主动调用该方法,因为图片如果没有被引用的对象时,GC会主动释放图片占用的内存2原创 2018-01-11 00:08:40 · 890 阅读 · 0 评论