代码优化
搞什么灯儿
http://my.csdn.net/?ref=toolbar#
展开
-
使用LiveData+Retrofit,实现具有生命周期的网络请求
(本文代码示例采用Kotlin编写)1. 前言此前我们一直是使用RxJava+Retrofit实现网络请求,直接使用这种请求方式是没有和Activity或Fragment的生命周期绑定的,就容易出现内存泄漏或者程序崩溃的情况。因此通常还会加上一个RxlifeCycle来保证和我们的生命周期绑定就变成了RxJava+Retrofit+RxLifeCycle这种结构了,但是自从Android官方推出了LiveData组件,因为LiveData是带有生命周期属性的,我们就可以抛弃原来的写法,来创造属于自己的一原创 2020-11-05 14:40:57 · 1621 阅读 · 0 评论 -
关于Kotlin,你不知道的那些事(一)------inline,noinline,crossinline
1.inline相信大家很多在写kotlin代码的时候都看到过这样的关键字,比如常见的let,with,apply,also,但是大家又是否知道代表了什么含义呢,加了inline的方法能调用,不加inline关键字的方法也能调用,那这个关键字到底有什么作用呢?接下来我们通过实例来分析一下。我们写一个测试类来分析。fun main(args: Array<String>) { val result = sum(1, 2) print("result = $result")原创 2020-06-22 17:37:07 · 416 阅读 · 0 评论 -
代码优化------Snackbar内存泄漏分析及解决
SnckBar内存泄漏分析及解决1 分析工具MemoryAnalyzer(MAT)2 问题代码 fun initView() { /*** 省略 ****/ mSnackbar = Snackbar.make(view, "确定要退出吗?", Snackbar.LENGTH_LONG) mSnackbar!!.setAction("确定") { v ->...原创 2019-12-13 16:12:00 · 379 阅读 · 1 评论