Android基础知识点有哪些

本文介绍了“安卓的基本知识点有哪些”的相关知识 。很多人在实际案例的操作中会遇到这样的困难 。让边肖带领你学习如何处理这些情况 。希望大家认真阅读 , 学点东西!一、活动 。1.Activity的四种启动模式和应用场景 。(1)标准标准 , 每次都会在活动堆栈中生成一个新的活动实例 。通常 , 我们使用的活动是标准模式 。(2)单线图栈顶重用 。如果堆栈顶部已经存在活动实例 , 则不会在活动堆栈中创建新实例 。更常见的情况是将“活动”设置为通知跳转 , 因为当前台的“活动”已经是“活动”时 , 您肯定不想单击通知 , 然后为您创建另一个相同的“活动” 。(3)单项任务堆栈内重用 , 如果活动实例已经存在于当前堆栈中 , 则当前活动实例之上的所有其他活动实例都将从堆栈中移除 。跳转到主界面很常见 。(4)单一实例在单实例模式下 , 会创建一个新的任务堆栈 , 并且该活动实例在该活动堆栈中是单独的 。第二 , 屏幕适配 。1.屏幕适配原理 。设备像素px和设备独立像素dp px之间的关系=dp *密度 。第三 , 安卓消息机制 。1.Android消息机制的四个概念 。线程本地、消息队列、循环程序、处理程序2.流程 。(1)前期准备工作 。要创建一个处理程序 , 如果它是在一个子线程中创建的 , 您还需要调用Looper#prepare() 。在处理程序的构造函数中 , 循环程序和消息队列将被绑定 。(2)发送消息 。创建一条消息 , 并使用处理程序发送它 。(3)进入消息队列 。消息自然被放入消息队列 , 因为消息队列被绑定在处理程序中 。(4)Looper轮询消息队列 。Looper是一个无限循环 , 它总是观察新消息是否到达 , 然后从消息中取出绑定的Handler , 最后调用Handler中的处理逻辑 。所有这些都发生在Looper循环的线程中 , 这就是为什么Handler可以在指定的线程中处理任务 。3.Looper没有阻塞主线程中接口的原因 。造成卡顿的原因是Ui线程中耗时的操作导致接口掉帧 , 甚至操作ANR、Looper.loop()本身都不会造成这种情况;Looper会在没有消息时阻塞当前线程 , 释放CPU资源 , 然后在有消息时唤醒主线程;App流程需要一个无止境的循环 , 如果循环结束 , App流程也就结束了 。4.引入IdleHandler 。IdleHandler是一种在Handler空闲时处理空闲任务的机制 。其执行场景:当MessageQueue没有消息 , 队列为空时;MessageQueue是一个延迟的消息 , 目前没有执行消息的时间 。1.位图的内存计算方法 。给定图片的长像素和宽像素 , 影响内存大小的因素是资源文件的位置和像素的大小 。2.位图的有效加载 。在Glide中也使用了位图的有效加载 。想法是获得所需的长度和宽度 , 一般是获得控件的长度和宽度 。在BitmapFactory中设置inJustDecodeBounds 。选项为true可以帮助我们获得位图的长度和宽度 , 而无需将其加载到内存中;将所需的长度和宽度与位图的长度和宽度进行比较 , 得到压缩比 , 并将其放入位图工厂中的inSampleSize属性中 。选项;在BitmapFactory中设置inJustDecodeBounds 。选项设置为false , 将图片加载到内存中 , 然后在控件中设置它 。这里介绍一下“安卓的基本知识点有哪些”的内容 。感谢阅读 。如果你想了解更多行业 , 关注网站 , 边肖将为大家输出更多高质量的实用文章!

    推荐阅读