@ukyoo 最早的场景就是低版本(8.0以下)的安卓手机, bitmap还占用堆内存的时候, 如果使用fragment栈, 或者viewPager+fragment, 不手动回收view的话, 很容易OOM. 高版本bitmap都在native内存里, 所以现在很容易忽视这个问题
记一次Fragment的内存泄露最近遇到一个内存泄露, 代码非常简单 : 先打开一个 FragmentA, 然后通过 replace 替换成 FragmentB, 并且加入回退栈, 因为 FragmentB...
@羊角包 是的, onDestroy会回收整个fragment对象(包括fragment的成员变量mButton); 只触发onDestroyView而不触发onDestroy的场景, 需要把mButton手动置null来触发回收
记一次Fragment的内存泄露最近遇到一个内存泄露, 代码非常简单 : 先打开一个 FragmentA, 然后通过 replace 替换成 FragmentB, 并且加入回退栈, 因为 FragmentB...
崩溃堆栈 首先,崩溃上报的堆栈: 这是我们app升级androidx之后,第一次外灰时发现的线上问题。来自线上的偶现bug,主要分布在10的机器以及少部分9的机器上。收集到的...
自从入职CS,项目编译一直有个神坑报错,每次都需要clean rebuild若干次, 非常耽误时间 简单的说, 如果在使用AIDL时需要一个自定义的数据类型, 我们一般会这...
1 简介 之前已经讲过TextView的基础知识、段落级别的Span和字符级别的Span,分析了Android提供的一些Span的源码,这篇文字讲解如何自定义Span。这篇文...
类似 Didi doraemonkit 和 LeakCanary 1.X 版本的三方库, 提供了 release-no-operation 的依赖, 里面大部分是空实现, 来...
ViewModel和onSavedInstance()根本就是两回事, APP在处于后台进程被回收后,你根本不可能靠ViewModel来恢复的, 他只是个普通的对象, 怎么可能代替onSavedInstance()?
Kotlin 风险高、RxJava 已过时,Android 原生开发现状分析!作者:Vasiliy Zukanov,独立 Android 开发及软件顾问链接:https://www.techyourchance.com/the-state-of-nat...
最近遇到一个内存泄露, 代码非常简单 : 先打开一个 FragmentA, 然后通过 replace 替换成 FragmentB, 并且加入回退栈, 因为 FragmentB...
Lifecycle 是 AAC 中帮助我们构建生命周期感知组件的框架. 常见的情况 在客户端开发中, 我们的组件需要页面的状态做出不同的响应.举个例子, Activity 中...
Jetpack是Google I / O 2017 中引入, 其中的架构组件 Android Architecture Components , 就是我们常说的AAC. 包括...
SQLite是安卓数据持久化的重要手段. 为了便捷的操作sql, 衍生了很多ORM (Object/Relation Mapping 对象关系映射). Android端比较流...
楼主的这篇神迹有高仿的。。链接如下 https://www.jianshu.com/p/f03e1b1a321a
一、对象拷贝 我们使用 = 的时候,其实是引用的拷贝. 多个引用指向的其实是同一个对象.上面的例子中 ArrayList list = new ArrayList<>()...