志在指尖
用双手敲打未来

Android基础知识点面试复习

信任许多小伙伴在准备面试温习的时分,都会由于没有树立自己系统的常识结构,而常常翻开书本马冬梅,合上书本马什么梅。出现这样的状况并不是个例,因此咱们应该尽力树立自己的Android常识系统,这样多温习几遍,一些重难点就能了熟于胸了。本文为咱们整理了一套全面的Android根底常识点,有面试温习需求的小伙伴赶忙保藏起来吧~
Android根底常识点
一、Activity
1、Activity的四大启动形式和使用场景
(1)standard
规范形式,每次都会在活动栈中生成一个新的Activity实例。一般咱们使用的活动都是规范形式。
(2)singleTop
栈顶复用,假如Activity实例现已存在栈顶,那么就不会在活动栈中创立新的实例。比较常见的场景便是给告诉跳转的Activity设置,由于你必定不想前台Activity现已是该Activity的状况下,点击告诉,又给你再创立一个同样的Activity。
(3)singleTask
栈内复用,假如Activity实例在当时栈中现已存在,就会将当时Activity实例上面的其他Activity实例都移除栈。常见于跳转到主界面。
(4)singleInstance
单实例形式,创立一个新的使命栈,这个活动实例单独处在这个活动栈中。Android
二、屏幕适配
1、屏幕适配原理
设备像素px和设备独立像素dp之间的联系px=dp*density
三、Android音讯机制
1、Android音讯机制的四大概念
ThreadLocal、MessageQueue、Looper、Handler
2、进程
(1)准备工作
创立Handler,假如是在子线程中创立,还需求调用Looper#prepare(),在Handler的构造函数中,会绑定其间的Looper和MessageQueue。
(2)发送音讯
创立音讯,使用Handler发送。
(3)进入MessageQueue
由于Handler中绑定着音讯行列,所以Message很天然的被放进音讯行列。
(4)Looper轮询音讯行列
Looper是一个死循环,一向观察有没有新的音讯到来,之后从Message取出绑定的Handler,最后调用Handler中的处理逻辑,这一切都发生在Looper循环的线程,这也是Handler能够在指定线程处理使命的原因。
3、Looper在主线程中死循环没有卡死界面的原因
导致卡死的是在Ui线程中履行耗时操作导致界面出现掉帧,乃至ANR,Looper.loop()这个操作本身不会导致这个状况;Looper会在没有音讯的时分阻塞当时线程,开释CPU资源,等到有音讯到来的时分,再唤醒主线程;App进程中是需求死循环的,假如循环完毕的话,App进程就完毕了。
4、介绍IdleHandler
IdleHandler是在Hanlder空闲时处理空闲使命的一种机制。它的履行场景:MessageQueue没有音讯,行列为空的时分;MessageQueue属于推迟音讯,当时没有音讯履行的时分。
四、Bitmap
1、Bitmap的内存核算方式
在已知图片的长和宽的像素的状况下,影响内存大小的因素会有资源文件位置和像素点大小。
2、Bitmap的高效加载
Bitmap的高效加载在Glide中也用到了,思路是获取需求的长和宽,一般获取控件的长和宽;设置BitmapFactory.Options中的inJustDecodeBounds为true,能够协助咱们在不加载进内存的方式取得Bitmap的长和宽;对需求的长和宽和Bitmap的长和宽进行对比,然后取得压缩份额,放入BitmapFactory.Options中的inSampleSize属性;设置BitmapFactory.Options中的inJustDecodeBounds为false,将图片加载进内存,从而设置到控件中。
以上便是Android根底常识点面试温习的整理,期望本文能够让咱们充分完成面试前技术上的储藏工作,并协助咱们顺畅经过面试拿到offer。

未经允许不得转载:IT技术网站 » Android基础知识点面试复习
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载