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