- 博客(6)
- 收藏
- 关注
原创 Glider原理
//with构建出RequestManager,调用l.oad生产RequestBuilder默认降属性设置为Bitmap将资源保存到RequestBuilder里面的一个属性。//调用into的时候RequestBuilder类里面先构建出一个Tartget,然后在构建出一个Request这个Request是SingleRequest这个类。通过target取出之前的request回收掉recyle//然后调用RequestManager的track方法将request传进去。接着在track方法里面
2021-02-03 18:22:23
262
原创 简单介绍Android中Activity的四种启动模式
standard,(标准模式)默认的启动模式,只要激活Activity,就会创建一个新的实例,并放入任务栈中,这样任务栈中可能同时有一个Activity的多个实例。singleTop,(栈顶模式)激活Activity时,如果栈顶是这个Activity,就不会创建新的实例;如果栈顶不是这个Activity,则会创建新的实例。singleTask,(栈内模式)如果栈中存在Activity的实例,则将栈中该实例以上的其他Activity的实例移除,让该Activity的实例在栈顶;如果栈中不存在实例,则创建.
2021-02-01 09:18:53
135
原创 Handler原理
2.什么是handler1.Handler 是 Android 给我们提供来更新 UI 的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它来处理消息,Handler 在我们的 framework 中是非常常见的。2.Android 在设计的时候,就封装了一套消息创建、传递、处理机制,如果不遵循这样的机制就没有办法更新 UI 信息,就会抛出异常信息。在Android系统中实现了一套类似的消息处理机制。在下面介绍handler机制前,首先得了解以下几个概念:1. Message消息,理
2021-01-31 22:37:58
97
原创 Android内存溢出及内存泄漏原因进解析
内存溢出(Out Of Memory):Android系统中每一个应用程序可以向系统申请一定的内存,当申请的内存不够用的时候,就产生了内存溢出。内存泄漏:当某个对象不再被使用,即不再有变量引用它时,该对象占用的内存就会被系统回收。当某个对象不再被使用,但是在其他对象中仍然有变量引用它时,该对象占用的内存就无法被系统回收,从而导致了内存泄漏。内存溢出原因:1.内存泄漏过多。2.内存中加载的数据量超过内存的可用量。3.集合类(用于存储对象的引用)中有对对象的引用,使用完后未清空。4.申请的内存不够。
2021-01-28 20:31:36
101
原创 如何检测内存泄漏
因为内存泄漏是在堆内存中,所以对我们来说并不是可见的。通常我们可以借助MAT、LeakCanary等工具来检测应用程序是否存在内存泄漏。1、MAT是一款强大的内存分析工具,功能繁多而复杂。2、LeakCanary则是由Square开源的一款轻量级的第三方内存泄漏检测工具,当检测到程序中产生内存泄漏时,它将以最直观的方式告诉我们哪里产生了内存泄漏和导致谁泄漏了而不能被回收。LeakCanary是一个傻瓜化并且可视化的内存泄露分析工具原理:监视一个即将被销毁的对象白话:对被监控对象创建一个弱引用对象,
2021-01-28 20:30:16
888
原创 Java中的8大基本数据类型详解
List item整数类型:byte,1字节,8位,最大存储数据量是255,存放的数据范围是-128~127之间。整数类型:short,2字节,16位,最大数据存储量是65536,数据范围是-32768~32767之间。整数类型:int,4字节,32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。整数类型:long,8字节,64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。浮点类型:float,4字节,32位,.
2021-01-28 20:28:25
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人