摘要:
1、windowmanager 获取系统服务对象 mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); 2、设置需要显示window的参数 重要参数类型作用: 1、params.flag 阅读全文
摘要:
一、LiveData 是一个可被观察的数据持有者,它是具有生命周期感知的数据持有者,只会通知处于Active状态的观察者。 LiveData是一个抽象类,最简单的实现者MutableLiveData 1、基本使用 通过调用LiveData的observer方法,注册观察者 MutableLiveDa 阅读全文
摘要:
引言 Lifecycle 组件包括 LifecycleOwner LifecycleObserver Lifecycle 组件是执行操作以响应另一个组件(Activity或者Fragment)的生命周期状态的更改。 一、在Activity或者Fragment中的使用 class MainActivi 阅读全文
摘要:
协程作用1、一种并发的设计模式,简化异步执行的代码。2、有助于管理时间长的任务,减少ANR。 特点:1、轻量:可以在单个线程上运行多个协程,支持挂起,不会阻塞。 元素 coroutine scope 协程的作用域 job 任务,封装了协程中需要执行的代码逻辑。job可以取消并且有简单的生命周期 co 阅读全文
摘要:
Android Widget 也称桌面小部件,是系统应用开发层面的一部分,可以把一个控件嵌入到另一个进程的串口里面。 一、自定义AppWidget 1 AppWidgetProvider 继承广播,用于更新widget信息,实际是一个广播接受者,核心方法 onUpdate:更新时触发,直接参与到了w 阅读全文
摘要:
概述 在调用某个方法时,如果想增强某个方法,又不修改方法源码,这时候就会用到动态代理。 简单来说,就是对方法进行拦截,注入新的逻辑。 1、创建接口 public interface Person { void eat(); } 2、新建实现类 public class PersonImpl impl 阅读全文
摘要:
一、Activity进出动画 1、theme设置 2、overridePendingTransition设置 参考:(14条消息) Android activity进出动画_xjh_1027的博客-CSDN博客_activity 进场动画 阅读全文
摘要:
SVG动画animated-vector使用 SVG是指可伸缩矢量图形 (Scalable Vector Graphics),它不同于传统的位图,不是通过存储图像中每一点的像素值来保存与使用图形,而是通过 XML 文件来定义一个图形。 占用内存小,同时搭配Path动画,能够实现一些意想不到的效果 1 阅读全文
摘要:
参考: PAG · Portable Animated Graphics 阅读全文
摘要:
一、背景 启动速度是一个APP的门面,对用户体验十分重要。简单介绍启动原理、优化方案、线上验证。 二、启动原理 根据google文档,应用启动包括以下三种: 1 冷启动 冷启动是指 APP 进程被杀死(系统回收、用户手动关闭等),启动 APP 需要系统重新创建应用进程,从用户点击应用桌面图标到第一个 阅读全文