首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LiveData Coroutine Builder5个诡计

这个系列我做了协程和Flow开发者一系列文章翻译,旨在了解当前协程、Flow、LiveData这样设计原因,设计者角度,发现他们问题,以及如何解决这些问题,pls enjoy it。...Delay and Keep Coroutine Alive Temporarily 我们在liveData coroutine builder一个特殊功能是,它可以被配置为在LiveData不活动特定时间内保持...该代码块在LiveData变得活跃时开始执行,当LiveData变得不活跃时,在一个可配置超时后自动取消。如果它在完成之前被取消,那么如果LiveData再次变得活跃,它将被重新启动。...如果它在之前运行成功完成,它不会重新启动。注意,只有在自动取消情况下才会重新启动。如果该块因任何其他原因被取消(例如抛出一个CancellationException),它不会被重新启动。...如果超时在coroutine运行结束前完成,coroutine将在Activity恢复活动时重新启动

1.5K60
您找到你想要的搜索结果了吗?
是的
没有找到

面向初学者 Android 应用开发基础知识

Android 编程语言 在 Android ,基本上,编程是用两种语言JAVA 或 C++和XML(扩展标记语言)完成。如今,KOTLIN 也是首选。...XML 文件处理设计、演示、布局、蓝图等(作为前端),而 JAVA 或 KOTLIN 处理按钮、变量、存储等工作(作为后端)。 2.安卓组件 App 组件是 Android 构建块。...每个组件都有自己角色和生命周期,即从应用程序启动到结束。其中一些组件还依赖于其他组件。每个组件都有明确用途。...它在应用程序启动启动。至少有一个活动始终存在,称为 MainActivity。该活动通过以下方式实施。...Android AppActivity生命周期 Android AppActivity生命周期可以通过这张图来展示: Android 生命周期状态: 1.OnCreate:首次创建活动时调用

1.1K20

应用崩溃了?Android vitals 帮您精确诊断

唤醒锁定、唤醒和过多网络使用都会较为明显地消耗电量。 启动时间:用户希望应用加载起来要快一些。加载时间过长应用会被视为没有响应,从而破坏用户体验。...Android vitals 提供与其他第三方工具类似的功能。然而它在下面几个方面是独一无二。 第一个关键区别在于, Android vitals 不需要额外设置即可工作。...另外,当开发者应用与同类别其他应用关键性能指标出现显著落差时,开发者也会收到通知,从而助力开发者第一时间解决问题。...即使您使用其他崩溃报告工具,也应该同时使用 Android vitals 来快速识别和修复应用性能瓶颈。...在页面底部,您可以访问崩溃日志。日志揭示了异常所属类型,以及它在应用内根源。这应该可以让您大概了解到一些可能解决方案。

1.9K30

Android Studio 4.1 发布啦

最初4.1版本开始已禁用应用程序启动分析,未来在即将发布版本中将启用此选项。解决方法是,可以使用 Perfetto 独立命令行分析器来捕获启动配置文件。...有关如何记录系统跟踪基本用法说明,请参阅“使用CPU Profiler检查CPU活动“ 记录跟踪”部分 。...Theme resources:主题资源位于 themes.xml(而不是 styles.xml并使用名称Theme....Kotlin 1.3.72 Android Studio 4.1 捆绑了Kotlin 1.3.72,其中包括许多用于改善Kotlin高亮显示,检查和代码完成修复程序,请查看1.3.72 Kotlin更改日志获取详细信息...本机崩溃报告符号 当本机代码发生崩溃或ANR时,系统会生成堆栈跟踪,该跟踪是程序崩溃之前一直在程序调用嵌套函数序列快照。

6.4K10

安卓入门-第二章-探究活动

创建布局步骤小结:  新建布局文件夹layout -> 文件夹内新建布局文件XML -> 增加元素(比如说按钮)-> 活动加载布局文件(即:在活动onCreate方法中加载布局文件,调用setContentView...当然是Android Studio了,之前在使用Eclipse创建活动其他系统组件时,很多人都会忘记要去Android Manifest.xml中注册一下,从而导致程序运行崩溃,很显然Android...比如说我在自己定义活动中加入:,那么当其他软件点击了一个网站触发,那么就会询问是否使用自己之前所定义活动。...系统仍然会为这种活动保存相应状态和成员变量,但是这并不是完全可靠,当其他地方需要内存时,处于停止状态活动有可能会被系统回收。 销毁状态 当一个活动返回栈移除后就变成了销毁状态。...onDestroy():这个方法在活动被销毁之前调用,之后活动状态将变为销毁状态。 onRestart():这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

2.9K20

Better Kotlin

截止到明天早上 9 点,点赞最多找我有小奖励哟~ 我想给大家一些小建议 这么有趣活动,那我作为一名两个月 Kotlin 开发,自然也应该来这个活动凑凑热闹。...对于其他类型常量,最好在它们自己主类对象而不是伴生对象来存储公共全局常量。...核心意思是:Kotlin 使用 object 代替 Java 匿名内部类实现。 很明显,即便如此,这里访问应该也是合情合理匿名内部类访问成员变量在 Java 语言中是完全允许。...5 by lazy 和 lateinit 相爱相杀 在 Android 开发,我们经常会有不少成员变量需要在 onCreate() 对其进行初始化,特别是我们在 XML 中使用各种控件,而 Kotlin...但由于某些原因,当我把上面的 ISkipService 类修改为了 Kotlin 实现,却发生了崩溃代码上暂时没看出问题。

1.2K20

Activity 活动跳转(Java&Kotlin

答案就是活动跳转。 ① 普通跳转 顾名思义,就是单纯A到B,不带任何内容。...)); 如果把刚才Java里代码复制到Kotlin里,会需要转译,转译后Kotlin代码如下: Kotlin //活动跳转,MainActivity跳转到TestActivity,普通跳转...//TestActivity 为要跳转页面 startActivity() 就这么简单,不管是代码上还是意思上都比Java要简洁明了,要这样使用的话你Kotlin...getString("name") ③ 跳转时指定启动模式 在代码动态指定页面的启动模式,因为在AndroidManifest.xml对每个Activity只能指定唯一启动模式,如果想在不同时候对同一个...FLAG_ACTIVITY_NEW_TASK 使用,即setFlags参数为“Intent.FLAG_ACTIVITY_CLEAR_TASK 启动模式在Java是比较琐碎,在Kotlin则通过

1.7K30

​使用Kotlin和Android Studio开发Android应用详细教程

步骤1:安装Android Studio和配置环境首先,确保你系统已经安装了最新版本Android Studio。你可以官方网站下载并按照安装指南进行安装。...安装完成后,打开Android Studio,确保SDK和其他必要组件已成功安装。创建或导入一个新Android项目。步骤2:创建新Android项目打开Android Studio。...选择所需语言,确保选择了Kotlin。点击“Finish”完成项目的创建。步骤3:设计应用界面在res/layout目录下找到activity_main.xml文件,这是应用主界面布局文件。...MainActivity.kt文件,这是应用活动(Activity)。...在该文件,你可以编写与应用逻辑相关Kotlin代码。

63610

【译】LiveData三连

ProfileController反过来使用ProfileRepository来获取数据,无论是网络(使用先前在Activity中使用WebService)还是其他地方(如内存缓存或持久化)。...我们可以将Controller设置为使用更多迷你Controller,每个Controller都会自己改变相应UI元素,从而将改变UI功能完全活动中提取出来。...在基于数据变化而更新UI情况下,比如在我们例子,我不认为有理由使用事件总线,但在这种方法和之前监听器接口方法,我会选择后者。...我希望你能从这篇文章获得一些关于LiveData知识,了解它在哪些情况下可以提供帮助,如何使用它,以及为什么它可能是一个比其他现有方法更好解决方案。有其他想法吗?有更好解决方案吗?...,失去了与Activity/Fragment生命周期解耦好处,因为他们必须onCreate()或其他生命周期方法调用该方法。

1.6K20

Android Dev Summit 21 精彩内容盘点

Android12 遵循了 M3 Dynamic Color 设计原则,系统可以用户壁纸抓取颜色,然后色阶化应用到你开发应用,应用跟随主题不同和变换颜色,千人千面。...开发者可以使用新增 getDistance() 和 onPullDistance() API 来控制 OverScoll 强度,当然你也可以通过 XML 设置 android:overScrollMode...Kotlin Flow medium.com/androiddeve… Kotlin方面,本次活动上重点推荐了 Kotlin Flow 在 MVVM 架构应用。...2倍以上,未来在 Kotlin Multiplatform Project 也可使用,如果你项目代码已经迁移到 Kotlin,那么未来注解处理应该首选 KSP。...More Components 此外,Jetpack 其他一些库近期也都有新版本发布。

1.7K20

利用Kotlin协程实现简单异步加载详解

前言 众所周知在android当执行程序耗时超过5秒时就会引发ANR而导致程序崩溃。...在本篇文章呢我想给大家分享是使用KotlinCoroutine(协程)来实现耗时操作异步加载,现在有RxJava这么屌库我们为什么还要了解这个呢?...与之前使用同步方式加载图片相比唯一不同就在于这儿我们调用了lauch函数。...lauch()创建并启动了一个协程,这儿参数Background是一个CoroutineContext对象,确保这个协程运行在一个后台线程,确保你应用程序不会因耗时操作而阻塞和崩溃。...await()是在主线程调用,但是他并不会阻塞主线程执行,它将挂起这个函数,主线程可以继续做其他事情。当值其他协程返回时候,他将被唤醒并将值Deferred传递到这个lambda

2K20

Android Studio 3.2新功能特性

在应用程序启动期间记录CPU活动 您现在可以在应用程序启动期间记录CPU活动主菜单中选择Run > Edit Configurations。...导出CPU跟踪 在使用CPU分析器记录CPU活动之后,可以将数据导出为.trace文件以便与其他人共享或稍后检查。 在记录CPU活动后导出轨迹,请执行以下操作: 右键单击要从CPU时间轴导出录像。...使用调试API记录CPU活动 您现在可以通过调试API来启动和停止在CPU分析器记录CPU活动。...Lint检查 Lint会检查Java / Kotlin互操作性 为了确保您Java代码与Kotlin代码良好互操作性,新lint检查会执行Kotlin Interop Guide描述最佳实践...当您使用AVD管理器编辑AVD时,您可以指定在AVD启动加载哪个AVD快照。

5.4K10

Android学习笔记(四)深入探讨Activity

2、Activity状态   随着Activity创建和销毁,移进移出过程他们经历了如下4种可能状态: · 活动状态:当一个Activity处于栈顶是,它是可见、具有焦点前台Activity...此时,Activity仍然会保留在内存,保存所有状态信息,然而当系统其他地方要求使用使用内存时,会优先终止此类状态Activity。 · 非活动状态:Activity被终止。...  在一个Activity创建到销毁完整生存期内,它会经历活动生存期和可见生存期一次或者多次重复。...当UI再次启动时,可以用onStart或者onRestart方法来恢复或者重启这些进程。   onRestart在除了对onStart方法第一次调用之外所有方法之前被立即调用。...· 活动生存期:onResume及其对应onPause之间时间。   当Activity处于活动期时,它在前台,并可以接收用户输入事件。

1.1K100

Android程序员问答题

生命周期:在整个生命周期,onCreate(Bundle)开始到onDestroy()结束。onStart()开始到onStop()结束。onResume()开始到onPause(()结束。...服务对象并不意味着它在自己进程运行,除非另有说明,它运行在与它所属应用程序相同进程。 服务不是一个线程。...8.Activity启动模式 standard是活动默认启动模式,在不进行显式指定情况下,所有活动都会自动使用这种模式。标准启动一个新activity压入栈。...singleTop是在启动活动时如果发现返回栈栈顶已经是该活动,则认为可以直接使用它。 singleTask是如果每次启动时系统首先会在返回栈检查是否存在该活动实例。...Intent为在不同应用程序代码之间执行延迟运行时绑定提供了一种工具。其最重要用途是开展活动,在活动它可以被认为是活动之间胶水。它基本上是一个被动数据结构,对被执行动作进行抽象描述。

64120

AndroidStudio 开发基础知识【翻译完成】

五十六、安卓广播意图和广播接收器 五十七、线程和异步任务基本概述 五十八、安卓启动和绑定服务概述 五十九、实现安卓启动服务——一个成功例子 六十、安卓本地绑定服务——一个成功例子 六十一、安卓远程绑定服务...面向对象编程基础 十七、Kotlin 继承与子类化简介 十八、安卓视图绑定概述 十九、了解安卓应用和活动生命周期 二十、处理安卓活动状态变化 二十一、安卓活动状态变化示例 二十二、保存和恢复安卓活动状态...二十九、AndroidStudio 手工 XML 布局设计 三十、使用约束集管理约束 三十一、安卓约束集教程 三十二、AndroidStudio 应用更改使用指南 三十三、安卓事件处理概述及示例...六十一、安卓隐式意图——一个成功例子 六十二、安卓广播意图和广播接收器 六十三、Kotlin 协程简介 六十四、安卓 Kotlin 协程示例 六十五、安卓服务概述 六十六、实现安卓启动服务——一个成功例子...(改编自维基百科) 联系方式 负责人 飞龙: 562826179 其他 在我们 apachecn/as-dev-essense-zh github 上提 issue.

3.1K30

Android基础总结(2)——活动Activity

6、多个活动之间互相启动纽带:Intent   在Adroid,多个活动之间互相启动通过Intent来实现。...:使用隐式Intent不仅能够启动自己程序活动,还可以启动其他程序活动,这使得Android多个应用程序之间功能共享成为了可能。...例如我们在mainActivitybutton设置点击事件监听事件启动Intent之前通过putExtra()方法传入各种类型数据, 1 button.setOnClickListener...销毁状态:当一个活动回收栈移除后就变成了销毁状态。 Activity生命周期图 ?...singleInstance:该模式下会启用一个新返回栈来管理这个活动。(例如我们想实现其他程序和我们程序可以共享一个活动,则应该用该模式启动活动)。

1.2K90

Java正在卷土重来?别开玩笑了,它明明一直很火

那些年对 Java 不满 Java 于 1995 年首次亮相,并承诺能够“一次编写,随处运行”(WORA),这一特性使它在当时占主导地位且依赖平台语言(如 C 和 C++)脱颖而出。...对 Java 来说,幸运是,公司和开发人员已经在全力以赴地开发 Java,并且它在许多组织已经是根深蒂固。...Scala 首次出现于 2004 年,就在 Java 在创新上陷入困境之前Kotlin 则是在 2011 年出现,正好处于同一时期中期。...“在 JVM 上使用其他语言是一种非常好方法,可以看出哪些新颖想法可以在各自社区得到关注,而不必立即尝试将它们嵌入到 Java 。”Topić说。...Van Wyk 同样指出,模式匹配他是 Kotlin 开始熟悉一种语言特性,现在也已经进入到了 Java 。“这是后发优势。”van Wyk 说。

20420

Android Studio 3.6 正式版终于发布了,快来围观

在 Android Studio 3.6 ,颜色选取器将填充应用颜色资源,以便快速选择和替换颜色资源值。颜色选取器可在设计工具和 XML 编辑器访问。...,现在 Kotlin 也支持: JNI 声明导航到 C/C++ 相应实现函数。...应用更改 现在,您可以通过单击”应用代码更改”或”应用更改并重新启动活动”来添加类,然后将该代码更改部署到正在运行应用。...优化 内存探查器泄漏检测 根据反馈,我们在内存探查器添加了检测可能泄漏活动和片段实例能力。要开始使用,请在内存探查器捕获或导入堆转储文件,并选中”活动/碎片泄漏”复选框以生成结果。...在 DEX 文件查看器加载要分析 APK ProGuard 映射文件。加载后,您将能够通过选择”显示字节码”右键单击要检查类或方法。

3.1K10
领券