The DEV Lyrics.

Thinking will not overcome fear but action will.

Fragment

Fragment 和 Activity 生命周期的对应关系 我们将它们的对应关系分开来看下,黄色为 Fragment 的生命周期,绿色为 Activity 的生命周期: 我们可以看出: Fragment 的 onAttach -> onViewCreated 对应着 Activity 的 onCreate 初始化时,Activity 要先于 Fragment 调用...

onSaveInstanceState 和 onRestoreInstanceState

作用 当 activity 变得容易销毁的时候,activity、activity 内的 View 和 Fragment 会调用 onSaveInstanceState 方法来存储数据。如果 Activity 销毁了,则会使用 onRestoreInstanceState 来恢复数据(onSaveInstanceState 中保存的数据在恢复时也会传给 onCreate)。 调用场景 ...

memory leaks

检测与解决内存泄漏

内存泄漏示例 class MainActivity : AppCompatActivity() { private lateinit var ctx: Context override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ...

android 四种启动模式

主要介绍不同的 task 的 activity 的启动返回问题

standard 该模式为 activity 的标准启动模式,每次启动都会新创建一个 activity。新启动的 activity 会被放在启动该 activity 所在的栈的栈顶。 singleTop 如果调用者的 Task 栈顶已经有相同类型的 activity 实例的话,则不会创建新的实例,而是通过 onNewIntent 方法将 intent 传入这个已经存在的 activity ...

Builder 模式

定义 将复杂对象的构建与表示分离,使得同样的构建过程创造不同的表示。人话:创建一个对象可能需要很多参数,但是并不是每个参数都是必须的,传入不同的参数可以产生不同的结果。 UML 图 即用户使用 Director 来通过 Builder 创建 Product(现在很少有人用 Director 而是直接通过 Builder 来构造)。 Builder 模式实例 // Product ...

创建 GitHub Pages 个人博客

零基础免费搭建网站

Create ur own github-pages 可以查看来这篇文章快速搭建博客。搭建完成后,就可以写文章上传到 github 上即可。 Installation on Windows x64 上面的步骤已经很完整了,但是如果你想要看本地修改后的效果的话,每次都要 Push 到 github 上才行,效率很低。这时我们可以本地安装下面一些文件来在本地编译查看修改后的网页。下面来具体讲...