06 2019 档案
摘要:一、ViewModel介绍 ViewModel类是被设计用来以可感知生命周期的方式存储和管理 UI 相关数据。ViewModel中数据会一直存活即使 Activity Configuration发生变化。 ViewModel可以解决以下痛点。 1. 数据持久化 在屏幕旋转的时候会经历 Activit
阅读全文
摘要:一、LiveData 介绍 LiveData是 Google 推荐的 Android 架构组件之一,是一个基于观察者模式的数据容器,但与一般的被观察者不同的是,它是有生命周期感知功能,解决了Android开发者需要去手动处理生命周期的痛点。 它具备如下特点: ① 数据可以被观察者订阅。 ② 能够感知
阅读全文
摘要:在使用Android Studio进行内存泄露分析之前,我们先回顾一下Java相关的内存管理机制,然后再讲述一下内存分析工具如何使用。 一、Java内存管理机制 1. Java内存分配策略 Java 程序运行时的内存分配策略有三种:静态分配、栈式分配和堆式分配。 对应的存储区域如下: 静态存储区(方
阅读全文
摘要:一、ActivityLifecycleCallbacks接口介绍 官方地址:https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks 在 Android API 14之后的Ap
阅读全文
摘要:Lifecycle官方文档地址:https://developer.android.com/topic/libraries/architecture/lifecycle。 一、为什么要使用Lifecycle? Activity 和 Fragment 是有声明周期的,开发时我们的很多操作需要写在声明周
阅读全文
摘要:现在 App 应用启动都会先进入一个闪屏页(LaunchActivity) 来展示应用信息。 系统默认会在启动应用程序的时候启动空白窗口 ,直到 App 应用程序的入口Activity创建成功,视图绘制完毕。 但是实际测试的时候,我们会发现在进入闪屏页的时候,会有2秒左右的白屏/灰屏的界面。 为了更
阅读全文
摘要:项目代码规范是软件开发过程中非常重要的优化环节。项目代码规范为主要包含:类,常量,变量,ID等命名规范,注释规范,分包规范,代码风格规范。 严格执行项目代码规范才能保证我们的整体的项目架构在实际的开发过程中有效的实施,并且具有以下优点: 保证代码风格的统一,对于后期的代码维护非常重要。 保证代码的可
阅读全文
摘要:EasyPermission库是一个谷歌官方提供的简化基本的系统权限逻辑的库,可用于在Android M或者更高版本上。 官方项目地址:https://github.com/googlesamples/easypermissions 一、EasyPermission配置依赖 在需要使用此库的modu
阅读全文
摘要:Room是Google官方出品的ORM(Object-relational mapping) 框架。当前我们也知道当前还有很多的ORM框架,例如GreenDao、OrmLite、Litepal等。目前并没有深入了解这些框架,没办法比较各个框架的优缺点,但是相对而言,Room比较官方出品,且能够更好的
阅读全文
摘要:我们知道Android Gradle其实就是一个Gradle的一个第三方插件,它是由Google的Android团队开发的,基于Gradle构建的,和Android Studio完美搭配。相比于旧的构建系统(比如:Eclipse + Ant),它更灵活,更容易配置,还能方便的创建衍生的版本,也就是我
阅读全文