Skip to content

妖精论坛 · Android 客户端 V1.0.16

Choose a tag to compare

@crazying-dev crazying-dev released this 10 Oct 15:23
· 6 commits to Android since this release

妖精论坛 · Android 客户端 V1.0.16

本次更新:列表页返回后保留浏览位置

  • 修复:从帖子详情退出后,列表跳回最顶端。 本工程有意不使用 navigation-compose,根节点用 when (nav.current) 只渲染当前页——页面一旦被压栈(进入帖子详情)就离开组合,页内 remember 的列表数据与 LazyListState 一并被丢弃,返回时列表被清空重载、滚动位置归零;
  • 现新增 ui/screens/FeedState.kt:FeedState / UserFeedState / SearchState 分别承载首页 / 论坛 / 搜索 / 用户主页的已加载内容、分页游标与滚动状态,由根节点用 remember { FeedStateStore() } 持有(位于 when 之外,随根节点存活);返回列表页时仍取到同一实例,列表内容与滚动位置都不丢;
  • 配合纯函数 needReload(loadedKey, currentKey):只在内容标识(信息流 / 分类 / 搜索词 / 用户 tab)变化时才重新加载,从帖子详情返回不再触发重载;
  • FeedParts.PostFeedList 新增 state: LazyListState 参数;首页 / 论坛 / 搜索 / 用户主页的列表均接入保留的滚动状态;
  • 版本号升至 versionCode = 17 / versionName = 1.0.16。

说明

  • 顶部「登录 / 退出登录」切换、切换信息流或分类、切换用户主页 tab 等情形仍会正常重新加载,仅在「进入详情再返回」时保留现场;
  • 新增 FeedStateTest(10 例)覆盖 needReload 判定与 FeedStateStore 的「同 key 同实例」语义,单测总数 63 → 73;
  • 同类目网页端的「无限年 ↔ 公元年」换算弹窗显示问题已在 Web 端单独修复(不随本安装包发布)。
项 值
安装包 forum-android-1.0.16.apk(约 7.8 MB)
versionName 1.0.16
versionCode 17
最低 / 目标 SDK 24 / 36
SHA-256 1bedfc7f3e29a616d217762a9907f846f2d17cf1eb843cf90fd041010b2cdd61
签名证书 SHA-256 bab9ac497b3b5b4f8fe3e36fbb9fec111c08831dc6e9100889a439f019aa4668