moneyflow-dev / moneyflow

Money Flow - your personal money manager
https://moneyflow.cash
GNU General Public License v3.0
82 stars 9 forks source link

Very high level of traffic usage #1

Closed bruto8000 closed 10 months ago

bruto8000 commented 10 months ago

https://github.com/moneyflow-dev/moneyflow/blob/23dcdd38abff9514925c199e2471fa8b959d7892/src/entities/transaction/model/incomes-store.ts#L30

Did I understand correctly that even when opening a page with 'income', the entire list will load?

astsu-dev commented 10 months ago

Hi, @bruto8000. You're correct. The application loads all transactions into memory (using Zustand store) upon startup. The application operates solely offline, with no HTTP requests; instead, it loads transactions from the Android Preferences API. Regarding memory usage, I've tested it with 100 000 transactions, and it only consumes 50MB of memory. What about rendering of large lists and performance? The application utilizes list virtualization to render lists, ensuring that only transactions within the viewport are rendered, even with a dataset as large as 100 000 transactions.