工作日誌紀錄 Day 20-21

  • 230
  • 0

工作日誌紀錄 Day 20-21

※ 問題解決:首頁讀取時間過久,使用者體驗不好

※ 問題解決:每次切換畫面一進首頁就是重載,就要重新跟資料庫要資料,非常耗時

※ 問題解決:左側menu第二頁連結的頁面按下返回鈕後無法回到首頁


※ 問題解決:首頁讀取時間過久,使用者體驗不好

發現原因:

首頁一共向伺服器要六次資料並且被分成三個階段執行,是導致緩慢的原因

 

解決辦法:

方案一: 歡迎畫面時先偷跑,先下載到SQLite,進入首頁後直接從SQLite輸出 => 程式架構要大改,先不走這條路

方案二:把三個階段減少到兩個階段 => 效果不卓越,但至少已經比本來快接近一秒

做法就是把原本第三階段的要求資料拉到第二階段並且同時執行

至於為什麼不乾脆全部併成一個階段

因為第二階段需要第一階段要到的資料才能決定拉什麼資料回來(會員相關)

 

筆記:


※ 問題解決:每次切換畫面一進首頁就是重載,就要重新跟資料庫要資料,非常耗時

發現原因:

首頁畫面切換使用到 FragmentTransaction replace() 方法

這個方法每次執行都會把 container 內原本所有的fragment刪除

fragmentTransaction.replace()

導致再回到首頁時,畫面會重載

 

解決辦法:

改變原有的切換頁面邏輯

改用

fragmentTransaction.add() 
fragmentTransaction.remove() 
fragmentTransaction.show()
fragmentTransaction.hide() 

等四個方法的交互使用

簡單來說就是不要刪除已載入完成的首頁

把他hide起來,在適時的show出來

 

改變完成後,因為效果非常明顯

內心一個小激動 哈哈

 

筆記:


※ 問題解決:左側menu第二頁連結的頁面按下返回鈕後無法回到首頁

發現原因:

返回鍵使用的方法 getnavHomeFromMain()

是掃描當前menu項目

找到"首頁"的標題後回傳該項目在menu上的位置

但當下的menu已被開啟第二頁

所以會找不到"首頁"的位置

 

解決辦法:

getnavHomeFromMain() 這個方法執行前

先執行 closeLv2Drawer() 讓menu先回到第一頁即可

 

筆記: