简析LeakCanary

LeakCanary使用添加依赖(release有no-op版)然后在 Application 初始化。 123456dependencies {     阅读全文
CodePoem's avatar
CodePoem 11月 25, 2020

简析LRU

LRU最近最少使用算法。 基本原理 -要求查找快,插入快,删除快,有顺序之分。哈希表查找快,但是数据无固定顺序;链表有顺序之分,插入删除快,但是查找慢。所以结合一下,形成一种新的数据结构:哈希链表。 按顺序插入 ,所以需要双向链表。 LinkedHashMap,使用 accessOrder=true 基于顺序访问,元素访问后被移动到末尾。 自己动手实现LRU12...     阅读全文
CodePoem's avatar
CodePoem 11月 25, 2020

简析Glide

Glide123Glide.with(context) .load(myUrl) .into(imageView); 生命周期     阅读全文
CodePoem's avatar
CodePoem 11月 25, 2020

简析OkHttp

OkHttp是对 Socket 的封装。URLConnection 在4.4以后底层也使用了 OkHttp。 Android源码中 /external/okhttp/jarjar-rules.txt 中表示com.squareup开关的包会在编译时打包成com.android开头的包。 12rule com.squareup.** com.android.@1rule okio.** com.android.okio.@1     阅读全文
CodePoem's avatar
CodePoem 11月 25, 2020

译-viewlifecycleowner与this对比

哈喽,Android 小伙伴们~ 这篇文章将提到 Fragment 中的两种 lifecycleowners。因为作为一个 Android 开发者,我们能够简单地使用 Fragment 作为 lifecycle owner,但某些情境下这可能会使你烦恼。 让我们先来看一下 Fragment 的生命周期: 从图中我们可以看到 onCreate 和 onDestroy 只调用了一次。这些是 Fragment 的主要的生命周期方法。 onCreateView 和 onDestroyView 根据 Fragment 的状态来被调用,因为它们是 Fragment 中 View 的主要生命周期方法。 因此,如果我们在 onCreate 中绑定 LiveData ,仅仅注册一次似乎是很合适很健康的。 1...     阅读全文
CodePoem's avatar
CodePoem 11月 24, 2020

优雅FindViewById

findBiewByIdfindBiewById 是 Android 开发中在布局中查找 View 元素的 Api。 findBiewById 基本使用12345678     阅读全文
CodePoem's avatar
CodePoem 4月 18, 2020

万丈高楼平地起

重拾基础,备忘备战~ 算法总结-VAlgorithm -> LookUp 设计模式-VDesignPatterns -> LookUp Android知识-VAndroidReview ->     阅读全文
CodePoem's avatar
CodePoem 3月 20, 2020

Fragment可见性

1234567891011121314151617...     阅读全文
CodePoem's avatar
CodePoem 3月 05, 2020

ViewPager下Fragment预加载与懒加载

预加载ViewPager 控件有一个预加载机制,即默认情况下当前页面左右两侧的 1 个页面会被预加载,以方便用户滑动切换到相邻的界面时,更流畅地加载界面(节省了初始化时间)。 从源码里可以看到,ViewPager 的预加载机制是不可取消的,预加载数量 limit 至少为 1,如果外部设置小于 1,内部会自动置为 1。 123456789     阅读全文
CodePoem's avatar
CodePoem 1月 11, 2020

设计模式总结

阅读《大话设计模式》和《Android源码解析与实战》第2版时,进行的简单整理和总结,现已上传至Github上。 Github Github 项目地址 直接浏览地址     阅读全文
CodePoem's avatar
CodePoem 1月 06, 2020