回顾 2021,展望 2022 岁末年初,用一篇文章来纪念逝去的 2021。很惭愧这一年没有输出技术文章,回首这一年完全可以用一个关键词来形容:「焦虑」。下面分几个部分来回顾一下我的 2021,再来展望一下 2022。
给 Android 开发者的 Dart 语言基础 本文基于官方的文档,整理出 Dart 语言中与 Java 和 Kotlin 语言类似和特有的部分,因此本文的读者需要具备一定的 Java 及 Kotlin 语言基础,相信大家读完本文就可以看懂大部分的 Flutter 代码了。
Android 开发:如何优雅引入 Java 8 Stream API Java 8 的更新给我们带来了很多新的特性,例如 Stream API 等等,但是在 Android 开发中使用 Java 8 的这些 API 时,通常 Android Studio 会提示如下错误:Call requires API level 24(current min is xx)意思是说在 Android API 24 版本(Android 7.0)以上时才能使用这些方法,但是通...
Java 8:一文掌握 Lambda 表达式 本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总结。
欢迎加入强哥的 Android 开发交流群 最近建了一个 Android 开发交流群,但不限于交流移动端、前端和后端等相关技术。本群的宗旨:让所有学习的群友都有进步的机会。1. 经验交流在我们学习时遇到困境,或者开发过程中遇到难题,都可以将你的问题抛出来,也许别人也会遇到过,让有经验的人来帮你解答。2. 文章分享我会每天分享一篇优质的文章,同时也会写上一段分享的理由,希望你看到好的文章也分享进来,大家一起学习进步。3. 职位内推...
从 0 到 1 优雅实现沉浸式状态栏 本文将会教给大家如何从0到1优雅地实现沉浸式状态栏的效果,包括设置状态栏的颜色、状态栏透明和状态栏的文字颜色,并可以适配启动页和刘海屏等等。目录1. 概述2. 实现方案2.1 前期工作2.1.1 修改应用主题2.1.2 获取状态栏高度2.2 Android 5.0+2.2.1 设置状态栏颜色2.2.2 设置状态栏文字颜色2.2.3 设置状态栏透明2....
如何精确设置 RecyclerView 自动滑动时间(速度) 有时我们会碰到一个让RecyclerView在固定时间滑动到指定位置的需求,网上的方法都是重写LinearSmoothScroller类的calculateTimeForScrolling()方法,虽然可以修改时长,但还是不能精确到具体的时间。本文将会教大家如何去精确设置RecyclerView自动滑动的时间。之前看到这篇文章:android之ViewPager修改滑动速度,发现是可以通过...
JVM:类加载的五个过程:加载、验证、准备、解析、初始化 类的整个生命周期包括加载、验证、准备、解析、初始化、使用和卸载7个阶段,其中验证、准备、解析这3个部分统称为连接,如下图所示。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。注意,这里的几个阶段是按顺序开始,而不是按顺序进行或完成的,因为这些阶段通常都是互相...
Java 内存分区讲解 对于一个Java开发者,了解Java中的对象、变量等存放的内存区域是十分重要的。本文将全面讲解Java虚拟机中的内存模型和分区。Java虚拟机把管理的内存划分为几个不同的数据区域,如下图所示。下面就分别展开讲解一下每个区域的功能。1. Java堆Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,所有的对象实例以及数组都要在堆...