关于RxJava背压前言适用人群:了解RXJava1.0、RxJava2.0基本用法,了解RxJava的一些常用操作符的小伙伴讲些什么:了解背压是什么?了解阻塞形成的原因怎么去解决阻塞RxJava对背压的处理为什么讲:学习RxJava2.0用法,熟悉背压机制(我差点信了自己)能讲好吗:被闹,又不是开车,这我哪知道啊!好吧不扯了,开车吧,不不,是开始学习下背压什么是背压在RXJava2.0出来以后,
2022-12-07 michael007js 688
引言自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。但由于 Android 碎片化比较严重,每个版本的系统 bar 效果可能会有所差异,导致开发者往往需要进行兼容适配。为了简化系统 bar 沉浸式的使用,以及统一机型、版本差异所造成的效果差异,本文将介绍系统 bar
2022-12-26 michael007js 682
先编译好要调试的程序,如:1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可2.开启调试会话点击红色箭头所指向的虫子图标,Debug模式启动APP。点击红色箭头指向的小虫子,开始进入调试。IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法fun2()中,程序的第41行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的
2022-11-25 michael007js 665
我们知道,在 Android 5.0 以后,可以通过 xml 或 Java代码 的方式给 View 添加阴影// 方式一:xml 设置android:elevation="10dp"// 或android:translationZ="10dp"// 方式二:java 代码设置view.setElevation(20);// 或view.setTranslat
2022-12-30 michael007js 604
正三角<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/shape_i
2023-03-09 michael007js 594
在上一章,我们已经从操作系统的维度了解了一个进程的内存模型。这一节,我们将维度继续上升,从应用层出发看看一个 App 运行时的内存模型是怎样的。从 App 运行时的内存模型中我们可以知道导致内存增长的源头,从源头出发,可以更有目的去治理内存,还能进一步分析引起增长的代码逻辑或者数据。为了让大家深入掌握 App 运行时的内存模型,这一节的内容按照由外到内、逐步深入的原则,分为了 3 个部分:内存描述
2022-12-15 michael007js 589
在Android的PorterDuff.Mode类中列举了他们制定的规则:android.graphics.PorterDuff.Mode.SRC:只绘制源图像android.graphics.PorterDuff.Mode.DST:只绘制目标图像android.graphics.PorterDuff.Mode.DST_OVER:在源图像的顶部绘制目标图像android.graphics.Port
2022-12-06 michael007js 565
在开发 Android 手机应用过程中,可能需要对一些手势作出响应,如:单击、双击、长按、滑动、缩放等。这些都是很常用的手势。就拿最简单的双击来说吧,假如我们需要判断一个控件是否被双击(即在较短的时间内快速的点击两次),似乎是一个很容易的任务,但仔细考虑起来,要处理的细节问题也有不少,例如:记录点击次数,为了判断是否被点击超过 1 次,所以必须记录点击次数。记录点击时间,由于双击事件是较快速的点击
2022-12-09 michael007js 556