在 Android 中如何确定 App(Activity) 的启动者
最近在帮忙定位一个问题,涉及到某个应用自动启动了,为了确定是谁调用的,使...
GapWorker导致RecyclerView视频播放声音残留问题
场景描述
App 有两个tab,每一个都是Fragment,以FragmentA和FragmentB 代称...
Kotlin 中的 Lambda 与 Inline
在Kotlin中,有很多很酷很实用的特性,比如Lambda和高阶函数,利用这些特性,...
JVM 如何处理未捕获异常
什么是未捕获异常
未捕获异常指的是我们在方法体中没有使用try-catch捕获的异常...
android studio分析 build 性能
使用命令
./gradlew --profile --rerun-tasks clean assembleRelease
分析 ...
用好 Require,check,assert,写好 Kotlin 代码
在编码的时候,我们需要做很多的检测判断,比如某个变量是否为null,某个成员...
Android 抓取 ANR 日志终极办法
在 Android 开发中,有时会遇到 ANR,一旦出现 ANR 我们就需要拿到对应的trace...
Android性能调优利器StrictMode
作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Androi...
Android Studio插件
ButterKnife Zelezny:简化视图绑定
ButterKnife Zelezny 插件自动执行了为 ...
Jetpack Compose 制作自定义对话框
1. Jetpack Compose 的基本对话框
让我们从基础开始。以下是使用 Jetpack Comp...
Kotlin 性能调优:您应该了解的 20 个最佳实践
性能是决定应用程序成败的关键指标。虽然 Kotlin 提供了大量功能来简化开发,但了...
Jetpack Compose 物料清单 (BOM)
Jetpack Compose 彻底改变了 Android UI 开发,使其变得更简单、更高效。Jetpack ...
Kotlin 互斥体:5 个用例
1. 保护多线程应用程序中的共享数据
设想:
在多线程应用程序中,多个线程...
Android 中的开发者选项
每个 Android 开发人员都通过从开发人员选项页面启用 USB 调试来开始他们的旅程,...
Android 中的服务是一个强大的工具,无需用户界面即可执行各种任务
它们是管理长时间运行的操作和后台任务的重要组件。在本文中,我们将探讨不同类型...
Http 和 Retrofit 中的超时
我们通过 Retrofit 和 Okhttp 进行了数千次 HTTP 调用。有时,这些请求会由于...
AndroidManifest.xml合并规则详解和注意事项
APK 或 Android App Bundle 文件只能包含一个 AndroidManifest.xml 文件,但 Andr...
ROM刷入手机
在联网情况下,手机在几分钟内就会自动重启,不联网就不会重启,猜想这个ROM应该...