Android
文章平均质量分 95
RalfNick
做最好的自己!
展开
-
SharePreferences 分析及正确使用姿势
1.Android 常见数据存储方式在 Android 中,常用数据存储方式通常有以下几类:文件存储:将数据存储在文件中。文件存储根据位置不同,可以存储在应用包下,成为内部存储;也可以存储在 storage文件夹(当然也有可能是mnt文件夹,不同的手机厂商可能不一样)上,称之为外部存储SharedPreferences 存储:SharedPreferences 是 Android 提供的用来存储一些简单配置信息的一种机制,核心原理是:保存基于 XML 文件存储的 key-value 键值对数据。原创 2021-05-09 20:27:43 · 2990 阅读 · 0 评论 -
Android ANR
1.ANR1.1 什么是 ANR?我们知道安卓应用中 UI 渲染是在主线程中,所以对于一些点击事件,以及和用户交互相关的事件需要能够及时,否则对于用户来说就是一个很不好的体验。安卓系统中对于这类在主线程中没有及时作出反馈的问题叫作 ANR(Application Not Responding)。安卓不同组件对于 ANR 的超时限制是不同的。安卓中 ANR 的机制采用类似于『看门狗』,发送事件的同时,会发一个计时的消息,如果在计时的时间内没有完成事件,则触发 ANR。gityuan 博客中形容的比较原创 2021-04-11 22:33:31 · 618 阅读 · 0 评论 -
RxJava 内存泄漏
1. RxJava 内存泄漏原因Disposable 基本原理:(1)这里仅看下 Observer 的执行,如在主线程执行 Observer,会走 Observable 的 observeOn 方法,然后会把 Observable 包装成 ObservableObserveOn。当被订阅者如 PublishSubject 通过 onNext 发送事件时,会调用 ObservableObserveOn 中的订阅者 ObserveOnObserver 的 onNext 方法。之后会通过 Worker原创 2021-01-16 20:08:45 · 1531 阅读 · 0 评论 -
内存泄漏常见场景及处理方法
1.Java垃圾回收(GC)Java 是如何管理内存为了判断Java中是否有内存泄露,我们首先必须了解Java是如何管理内存的。Java的内存管理就是对象的分配和释放问题。在Java中,程序员需要通过关键字new为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。另外,对象的释放是由GC决定和执行的。在Java中,内存的分配是由程序完成的,而内存的释放是有GC完成的,这种收支两条线的方法确实简化了程序员的工作。但同时,它也加重了JVM的工作。这也是Java程序运行速度较原创 2021-01-16 20:06:29 · 2504 阅读 · 0 评论 -
Android 依赖注入 DI - Dagger2
1.依赖注入 (Dependency Injection)1.1 面向接口编程public interface Drivable { void drive();}public class Bike implements Drivable { @Override public void drive() { System.out.println("骑车"); }}public class Car implements Drivable {原创 2021-01-10 14:42:09 · 423 阅读 · 0 评论 -
Android 中 Text Span 分析
1.为什么需要 Span?在文本展示时,如果不需要设置样式,包括颜色,大小,对齐方式等属性时,可以利用 View 的属性来控制,但是很多时候我们希望控制颜色,字体大小,对齐方式,段落,超链接点击,甚至是可编辑等特性,这时候就需要能够对文本的一个或者多个字符进行属性控制,所以就有了 span。 span 译为“跨度”,可以理解为就是一个或者多个字符的意思。一个文本可以有多个 span,这些 span 就是用来设置文本的样式,每个 span 标识文本的一个字符或者段落级。这些 span 是附属在文本上的,通过原创 2020-11-04 10:59:49 · 2472 阅读 · 0 评论