Android Jetpack共0篇
Android Jetpack
由浅入深,ViewModel详解-五八三

由浅入深,ViewModel详解

前言:今年的龙舟雨来了,一场接一场,雨量很大。 前言   以往如果需要在 Activity 或者 Fragment 中保存数据状态则需要重写onSaveInstanceState ,使用bundle去存储相应的数据和状态,但...
admin的头像-五八三admin2年前
070
使用 Compose 绘制渐变贝塞尔曲线趋势图-五八三

使用 Compose 绘制渐变贝塞尔曲线趋势图

要么说 Compose 优雅呢,假如你想画个东西,用安卓 View 的话你要继承 View 并且实现其中的 onDraw 方法,然后才能拿到 Canvas 开始绘制,但 Compose 你只需要这样: Canvas(modifier = Modifie...
admin的头像-五八三admin2年前
0470
Compose:从重组谈谈页面性能优化思路,狠狠优化一笔-五八三

Compose:从重组谈谈页面性能优化思路,狠狠优化一笔

前言:随着越来越多的人使用Compose开发项目的组件或者页面,关于使用Compose构建的组件卡顿的反馈也愈发增多,特别是LazyColumn这些重组频率较高的组件,因此很多人质疑Compose的性能过差,这...
admin的头像-五八三admin2年前
040
Android架构灵魂组件Lifecycle的生命周期机制详解-五八三

Android架构灵魂组件Lifecycle的生命周期机制详解

前言:写作就跟生活一样,是一趟发现之旅。 前言 在早期 Andorid 架构中,生命周期的事件监听和状态查询,我们需要自定义一套提供侦测功能的 Activity/Fragment 基类及回调接口,在 Activity/Fr...
admin的头像-五八三admin2年前
090
关于Jetpack DataStore(Proto)的六点疑问-五八三

关于Jetpack DataStore(Proto)的六点疑问

前言 上篇分析了DataStore(Preferences)的使用与原理,本篇接着阐述DataStore的另一种实现形式:DataStore(Proto)。 通过本篇文章,你将了解到: 1. 为什么需要Proto? DataStore(Preferences)...
admin的头像-五八三admin2年前
090
解決JetpackCompose 编译通过但是运行报错的问题-五八三

解決JetpackCompose 编译通过但是运行报错的问题

问题描述 报错信息 java.lang.NoSuchMethodError: No static method setContent$default(Landroidx/activity /ComponentActivity;Landroidx/compose/runtime/CompositionContext;Lkotlin/jvm/fu...
admin的头像-五八三admin2年前
0420
关于Jetpack Compose中Composable的度量指标-五八三

关于Jetpack Compose中Composable的度量指标

当大量团队开始使用Jetpack Compose的时候, 团队中的大多数人最终会发现还缺少一块拼图: 测量Composable函数的性能. 在Jetpack Compose 1.2.0中, Compose编译器添加了一项新功能, 它可以在构建...
admin的头像-五八三admin2年前
0270
一篇搞懂Jetpack Compose 动画-五八三

一篇搞懂Jetpack Compose 动画

无论是Jetpack Compose还是原来的view体系,想做出好看的交互效果都离不开动画。Compose同样提供了相应的API来实现动画。这些API大致可以分为两类:高级别API(直接拿来用,就像使用普通组件比...
admin的头像-五八三admin2年前
0120
Android复杂UI的性能优化实践 - PTQBookPageView 性能优化记录-五八三

Android复杂UI的性能优化实践 – PTQBookPageView 性能优化记录

最近发现之前写的翻页器组件用起来似乎有些卡顿,就去想着做一下性能优化,这一篇博客就是PTQBookPageView从v1.0.1版本到v1.1.0版本优化的思考和分析,以及优化的过程记录。 组件相关链接: 组...
admin的头像-五八三admin2年前
080
Now in Android #87 带你了解近期 Android 的一些新变化-五八三

Now in Android #87 带你了解近期 Android 的一些新变化

本期内容主要变化为Android Studio Giraffe、Android 14 Beta 4、Kotlin 1.9.0等,资料部分主要是Android Worldwide、The AOSP and AAOS Meetup两个会议的议题分享 什么是 Now in Android ? Now...
admin的头像-五八三admin2年前
0110

一篇搞懂Compose自定义theme

为了支持无需将颜色作为显式参数依赖项传递给大多数可组合项,Compose 提供了 CompositionLocal,可让您创建以树为作用域的具名对象,这可以用作让数据流经界面树的一种隐式方式。 Composition...
admin的头像-五八三admin2年前
080
基于 Compose Runtime 做 PPT UI 库?-五八三

基于 Compose Runtime 做 PPT UI 库?

本文主要内容来自 Using Compose Runtime to create a client library - Fatih Giriş,由 FunnySaltyFish 整理并翻译(看在我纯手打的份上,不妨给个赞吧)。如果英语听力和阅读能力尚可的朋友...
admin的头像-五八三admin2年前
0170
Jetpack Compose - 一文了解清楚神秘的CompositionLocal-五八三

Jetpack Compose – 一文了解清楚神秘的CompositionLocal

Compose中CompositionLocal是一种用于在Compose组件树中传递和共享数据的机制,它允许在组件树中向下传递并且在任何地方可以访问此数据。本文主要从简介、简单使用CompositionLocal、自定义Comp...
admin的头像-五八三admin2年前
0140
Compose Desktop展现一场雨过天晴-五八三

Compose Desktop展现一场雨过天晴

最近这天气就跟产品的需求一样变化无常,经常早上进地铁站之前就下一场大雨,然后等出了地铁站以后,雨就停了,甚至有时候会直接出太阳,不愧是魔都的天气,有个性,有想法,那么这次我就打算用...
admin的头像-五八三admin2年前
050
Jetpack Compose中那些离奇的重组情况,你遇到了吗?-五八三

Jetpack Compose中那些离奇的重组情况,你遇到了吗?

我正在参加「掘金·启航计划」 缘起 真正使用Compose做线上项目还是在两年前了,详见这篇文章《直播、聊天交友APP的开发及上架GooglePlay总结【Compose版】》,文章地址在:juejin.cn/post/7042...
admin的头像-五八三admin2年前
040
JetpackCompose实践-MVI业务开发 | 经验分享-五八三

JetpackCompose实践-MVI业务开发 | 经验分享

前言 上一篇文章我们说了食选这个程序的开发原因和架构设计。我们简单的讲了下依赖注入是如何搭配到Room和数据源的。这节我们就来讲一下如何把各个模块组合起来,先构成一个携带导航的APP首页,...
admin的头像-五八三admin2年前
0160
从LeakCanary看Fragment生命周期监控-五八三

从LeakCanary看Fragment生命周期监控

前文中我们已经了解到LeakCanary中Service生命销毁的监听方式,那么Fragment的生命周期监听又是怎么实现的呢? Activity生命周期监听,在Application里面有ActivityLifecycleCallbacks,那么Fra...
admin的头像-五八三admin2年前
0210

一文搞懂Android jetpack 状态存储

读完这篇文章,你会知道什么? 为什么 ViewModel#onClear 执行在 Activity#onDestory 之前,但生命周期比 Activity 长 LifecycleObserver 是如何兼容 LifecycleEventObserver 和 DefaultLifecyc...
admin的头像-五八三admin2年前
0130
从 Component Tree 视角看 Dagger 到 Hilt 的演变-五八三

从 Component Tree 视角看 Dagger 到 Hilt 的演变

1. 从 Dagger 的本质说起 一言以蔽之, Dagger 的本质就是一棵 Component Tree (组件树)。 1.1 Component :依赖注入容器 component 是 Dagger 中的核心概念,我们通过 @Component 注解定义并生...
admin的头像-五八三admin2年前
0190
Jetpack Compose(第八趴)——Jetpack Compose 中的高级状态和附带效应(下)-五八三

Jetpack Compose(第八趴)——Jetpack Compose 中的高级状态和附带效应(下)

五、rememberCoroutineScope 在此步骤中,我们将使抽屉式单行栏正常工作。目前,如果宁尝试点汉堡式菜单,什么都不会发生。 打开home/CraneHome.kt文件,并查看CraneHome可组合项,看看我们需要...
admin的头像-五八三admin2年前
0120