底层原理 简单来说,多窗口框架的核心思想是分栈和设置栈边界。 栈 既然提到了分栈,那我们首先要了解这个栈是什么?在Android系统中,启动一个Activity之后,必定会将...
底层原理 简单来说,多窗口框架的核心思想是分栈和设置栈边界。 栈 既然提到了分栈,那我们首先要了解这个栈是什么?在Android系统中,启动一个Activity之后,必定会将...
一 背景 市面上的一些视频类应用,比如爱奇艺,哔哩哔哩等都有小窗功能;为了提供更好的用户体验,那咱也有必要对Android系统支持的画中画模式进行一番调研; 二 简介 从An...
何为Compose 2019 年中,Google 在 I/O 大会上公布的用于Android构建原生界面的全新 UI 框架。也就是说它的渲染机制、布局机制、触摸算法以及 UI...
Kotlin 的协程用力瞥一眼 - 学不会协程?很可能因为你看过的教程都是错的 https://kaixue.io/kotlin-coroutines-1/ 练习题 1. 开...
前言 验证码输入框是很多APP必不可少的组件,之前在重构注册登录页面的时候,重新设计了UI,所以不能再简单的用EditText来做了,所以这篇文章将分享一下如何实现一个常见的...
学习了,通过apply from应用其他gradle文件,将依赖的逻辑写在了其他gradle,这样build.gradle中代码少了不少
加载大图到内存是一件令人头疼的事情。因为大图的原因,我们会在Crash报告中看到OOM(内存不足).Android的内存有限,这一点我们应该心里有数。stackoverflo...
Schedulers是RxJava的主要组件之一。负责在不同线程上执行Observables的操作,便于将耗时任务分摊到其他线程。本文将会学习调度器的类型和使用场景。 IO ...
1.优化vs可读性。去特么的优化 尽量写易于阅读的代码并且能被其他开发者所理解。因为花在阅读难以理解的代码的时间和资源远远多于优化代码所带来的好处。如果你需要优化,你可以将其...
为内容生产者点赞!写的真棒!新年快乐!!儒家经典《礼记》里有句话说:独学而无友,则孤陋而寡闻。可否互粉一个,相互支持,共同成长,共同进步。
谢谢认可
理解RxJava Subject --Publish, Replay, Behavior and Async Subjects这篇文章将围绕RxJava中的Subject来展开。 Publish Subject Replay Subject Behavior Subject Async Subjec...
1.架构无关语言与平台 架构是基于编程原则而来的。这些指导原则有SOILD原则或者设计模式,它们很稳定并且能应用于不同的语言和平台。投入时间学习架构是非常值得的。它不仅帮助我...
1.命名规则 所有变量,方法名和类名都应该遵循CamelCase风格。唯一不同的是,类名的首字母要大写。 常量全部使用大写字母并且以下划线分割 变量名或者方法名不应包含太多单...
简单介绍下用Kotlin写的命令模式,还有就是与之对比的Java版本。 Kotlin Java 输出
简单介绍下用Kotlin写的策略模式,还有就是与Java版本的对比。 Kotlin Java 输出 实现策略模式时,Koltin则显得格外亮眼。理由就是高阶函数的运用。在Ko...
只是对Kotlin版本的观察者模式的一个简单介绍啦,然后就是和Java版本的一个对比。 Kotlin Java Output 虽然Java代码稍显啰嗦,但是大体上还是自解释的...
再也不用为依赖些注释啦! 你我都知道在Gradle文件中添加一个依赖时,可以用注释将依赖分隔开来以便识别出它们的各自用途。 好啦,就是这么简单。 翻译自:Convert Al...
呐,让我们先创建一个数组吧。 1.打印数组 我们经常使用for循环或者一些迭代器来打印出数组的所有元素,但我们也可以换个姿势。 2.创建ArrayList 3.检查是否包含某...
问题: 我们有三个不同类型的对象:Book ,Magazine和Newspaper.我们想只使用一个List就能展示它们,同时在RecyclerView中的展示也不一样。 我...
世上有两类人,一类是埋头苦学之人,另一类则是善于吸取他人经验之人。我这里就有些东西想分享给大家。1.在添加任何一个第三方库前请三思一下,因为这是一个很重要的决定。2.如果用户...