iT邦幫忙

0

請教android老手們 資料讀取思路

A所有商品 B我的最愛 C購物車 D資料庫mysql
我在Fragment底下有三個畫面簡稱A"B"C
假如我在A畫面將某A商品加入到我的最愛 後至B畫面顯示
我的流程:是讀取畫面A選取項目寫入至D
B畫面讀取D顯示剛剛的項目 然後我在B畫面這邊使用進來畫面就判斷假如我A畫面有對商品做過改動就整批資料重讀一次
我覺得這邊因該大部分的人不是這樣寫 因為只要有一個改動就全部重讀 很消耗效能 資料多的時候還容易閃退 請老手們提供給我建議感恩

ant1017 iT邦新手 2 級 ‧ 2020-04-22 09:39:58 檢舉
消耗效能...該不會重讀也去讀圖片了..
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1

你的答案並沒有絕對性。
但大數來說,開發app確實很注意傳送資料的問題。
太過頻繁的傳送,或是傳送大數據。
都是屬於不好的行為。

但有些數據有時又有安全性上的問題,不立即儲存又不行。
這時候就非常考驗開發人員的規劃能力了。

原則上,頻繁性更新的資料,盡量維持在1~3k左右為主。
能壓在1k內是最好。
大數據傳送能步進就步進。要不然就是想辦法規劃成不需要大數據。

app與開發網頁的性質並不太相同。有時要考量很多的東西。
但app有個特性要多加利用。
因為資料大多都可以背景運行處理。

好煩惱 目前只能寫判斷 讓他整個重讀 怕以後資料更多的時候 只為了新增一個小東西 重讀取網頁資料/images/emoticon/emoticon06.gif

0
hungchinwai
iT邦研究生 1 級 ‧ 2020-05-09 14:56:29

可以考慮進系統時將db資料先緩存HashMap,A改過的項目對應HashMap的key做一個加入最愛的flag,
並在離開A時針對有加入最愛的flag確保資料寫入db,然後在b畫面僅讀HashMap資料或撈對應key的db資料即可,
另外b還需判斷如果沒有緩存的HashMap就需直接讀db顯示

我要發表回答

立即登入回答