![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术
总是很累的泡面头
无所畏惧的泡面头
展开
-
SQLite 异常处理
线上crash日志回捞到了这样一条case:SQLiteDiskIOException: disk I/O error (code 266, errno 5):SQLiteConnection.nativeExecuteForCursorWindow(Native Method)SQLiteConnection.executeForCursorWindow(SourceFile:941)SQLiteCursor.moveToPosition(SourceFile:130)看起来是到了sqlite原创 2021-06-22 14:51:22 · 1052 阅读 · 0 评论 -
LruCache的原理和使用
为什么使用LruCache缓存首先看做一个缓存的关键步骤, 存储,读取,清理。存储和读取区别不是很大,Lru算法做缓存和普通的数据结构做缓存相比最大的不同就是对清理策略的处理,由于空间的限制,所有的缓存都需要一个清理策略,最简单的清理策略就是定一个过期时间和一个最大空间,超过最大占用空间了, 需要进入清理流程, 还有超过过期时间的缓存内容被标记为过期,进入清理流程,所以我们需要维护一个时间字段...原创 2020-04-24 14:42:00 · 720 阅读 · 0 评论 -
Binder机制原理、源码、AIDL,IBinder,Binder,IInterface,BinderDriver,需要的都在这里了
导读:本文分为三个阶段,第一阶段,原理概述,力争说人话的基础上,讲明白Binder机制在搞什么,为什么这样搞,以及具体是怎么搞的。第二阶段,代码层面描述,主要描述了,AIDL、IBinder、Binder、IInterface、Binder Driver是如何设计和实现第一阶段的构想。第三阶段,实例操作,不使用半自动的AIDL工具,纯手动利用Binder实现一把进程间通信。相信这一套...原创 2020-03-06 04:21:49 · 980 阅读 · 0 评论 -
Jetpack - ViewModel
背景:The Android framework manages the lifecycles of UI controllers, such as activities and fragments.If the system destroys or re-creates a UI controller, any transient UI-related data you store in...原创 2019-03-01 14:49:01 · 272 阅读 · 0 评论 -
Java注解的基本使用
1,注解一般和反射联合使用2,jdk自带注解有三个:@Override、@Deprecated、@SuppressWarnings3,定义注解需要使用元注解。4,元注解:只能用来定义注解,有四个:@Target代表作用域(在哪里调用)public enum ElementType { /** Class, interface (including annotation type)...原创 2019-03-22 15:13:07 · 162 阅读 · 1 评论