Android基础知识点有哪些

口口导航网 文章阅读 329 0
本文介绍了“安卓的基本知识点有哪些”的相关知识。很多人在实际案例的操作中会遇到这样的困难。让边肖带领你学习如何处理这些情况。希望大家认真阅读,学点东西! 一、活动。 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,将图片加载到内存中,然后在控件中设置它。 这里介绍一下“安卓的基本知识点有哪些”的内容。感谢阅读。如果你想了解更多行业,关注网站,边肖将为大家输出更多高质量的实用文章!

标签: android

抱歉,评论功能暂时关闭!