[PR #1176] [MERGED] feat(mobile): Various minor performance improvements #8938

Closed
opened 2026-02-05 13:55:49 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/1176
Author: @matthinc
Created: 12/26/2022
Status: Merged
Merged: 1/18/2023
Merged by: @alextran1502

Base: mainHead: feat/scroll-performance-tweaks


📝 Commits (10+)

  • b292bc6 Improve scroll performance by introducing repaint boundaries and moving more calculations to providers.
  • ce555f3 Add error handing for malformed dates.
  • 0222e4b Remove unused method
  • 003840a Use compute in different places to improve app performance during heavy tasks
  • b0683f3 Fix test
  • 666c4f0 Refactor List<RenderAssetGridElement> to separate RenderList class and make fromAssetGroups a static method of this class.
  • 35761cd Fix loading indicator bug
  • 0ff2cdb Use provider directly
  • be74f93 RenderList refactoring
  • 4e639f7 AssetNotifier refactoring

📊 Changes

15 files changed (+312 additions, -242 deletions)

View changed files

📝 mobile/lib/main.dart (+1 -0)
📝 mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart (+6 -0)
mobile/lib/modules/home/providers/home_page_render_list_provider.dart (+0 -14)
📝 mobile/lib/modules/home/services/asset_cache.service.dart (+12 -4)
📝 mobile/lib/modules/home/ui/asset_grid/asset_grid_data_structure.dart (+106 -67)
📝 mobile/lib/modules/home/ui/asset_grid/daily_title_text.dart (+4 -10)
📝 mobile/lib/modules/home/ui/asset_grid/immich_asset_grid.dart (+13 -25)
📝 mobile/lib/modules/home/views/home_page.dart (+4 -4)
📝 mobile/lib/modules/search/providers/search_result_page.provider.dart (+2 -2)
📝 mobile/lib/modules/search/views/search_result_page.dart (+16 -4)
📝 mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart (+1 -1)
📝 mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart (+1 -1)
📝 mobile/lib/shared/providers/asset.provider.dart (+118 -47)
📝 mobile/lib/shared/services/json_cache.dart (+14 -3)
📝 mobile/test/asset_grid_data_structure_test.dart (+14 -60)

📄 Description

  • Remove computations from ListView builder to improve scrolling performance
  • Use RepaintBoundaries
  • Use compute in providers
  • Remove some inefficient StateProviders

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/1176 **Author:** [@matthinc](https://github.com/matthinc) **Created:** 12/26/2022 **Status:** ✅ Merged **Merged:** 1/18/2023 **Merged by:** [@alextran1502](https://github.com/alextran1502) **Base:** `main` ← **Head:** `feat/scroll-performance-tweaks` --- ### 📝 Commits (10+) - [`b292bc6`](https://github.com/immich-app/immich/commit/b292bc6cc2359bbe02e197e28032853eef192ab5) Improve scroll performance by introducing repaint boundaries and moving more calculations to providers. - [`ce555f3`](https://github.com/immich-app/immich/commit/ce555f3026f3f5ee66cc9b4b374ae87fcda74750) Add error handing for malformed dates. - [`0222e4b`](https://github.com/immich-app/immich/commit/0222e4b81c9c743a72b783509e71b58d5f404829) Remove unused method - [`003840a`](https://github.com/immich-app/immich/commit/003840a315e9b611d113ef7ebccc012c1a816489) Use compute in different places to improve app performance during heavy tasks - [`b0683f3`](https://github.com/immich-app/immich/commit/b0683f32efe97a1cdabd53a436d113c7a9ad3388) Fix test - [`666c4f0`](https://github.com/immich-app/immich/commit/666c4f066c659c461938d7d382ad7e85cd4a28b9) Refactor `List<RenderAssetGridElement>` to separate `RenderList` class and make `fromAssetGroups` a static method of this class. - [`35761cd`](https://github.com/immich-app/immich/commit/35761cd291f1baaf8c75c94d76821c9c1328af0c) Fix loading indicator bug - [`0ff2cdb`](https://github.com/immich-app/immich/commit/0ff2cdb73c44ee133729f04f5e7fa084cc77a858) Use provider directly - [`be74f93`](https://github.com/immich-app/immich/commit/be74f93ab626e7e2061522c002e6df5e627c1cbe) `RenderList` refactoring - [`4e639f7`](https://github.com/immich-app/immich/commit/4e639f79513f6d2eb84f84dc6240599696ac7cb7) `AssetNotifier` refactoring ### 📊 Changes **15 files changed** (+312 additions, -242 deletions) <details> <summary>View changed files</summary> 📝 `mobile/lib/main.dart` (+1 -0) 📝 `mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart` (+6 -0) ➖ `mobile/lib/modules/home/providers/home_page_render_list_provider.dart` (+0 -14) 📝 `mobile/lib/modules/home/services/asset_cache.service.dart` (+12 -4) 📝 `mobile/lib/modules/home/ui/asset_grid/asset_grid_data_structure.dart` (+106 -67) 📝 `mobile/lib/modules/home/ui/asset_grid/daily_title_text.dart` (+4 -10) 📝 `mobile/lib/modules/home/ui/asset_grid/immich_asset_grid.dart` (+13 -25) 📝 `mobile/lib/modules/home/views/home_page.dart` (+4 -4) 📝 `mobile/lib/modules/search/providers/search_result_page.provider.dart` (+2 -2) 📝 `mobile/lib/modules/search/views/search_result_page.dart` (+16 -4) 📝 `mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart` (+1 -1) 📝 `mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart` (+1 -1) 📝 `mobile/lib/shared/providers/asset.provider.dart` (+118 -47) 📝 `mobile/lib/shared/services/json_cache.dart` (+14 -3) 📝 `mobile/test/asset_grid_data_structure_test.dart` (+14 -60) </details> ### 📄 Description - Remove computations from ListView builder to improve scrolling performance - Use RepaintBoundaries - Use `compute` in providers - Remove some inefficient `StateProvider`s --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 13:55:49 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#8938