Re: [問題] android 開發 java 的效能考量

作者: pupuliao (pupu)   2016-08-10 01:29:59
※ 引述《cyclone350 (老子我最神)》之銘言:
: HI,
: 我完全沒有開發 android app 的經驗
: 在開發上我是提供 API,讓 APP 呼叫並且處理
: 但是 APP 在開發上跟我說的效能問題實在很難說服我
: 我下面會舉一些例子,希望有在開發 APP 的人或是有相關實際經驗的人
: 能跟我講 APP 的考量點
: # 例子1
: server 會提供一個商品列表,包含商品名稱、商品價錢、推薦順序
: ```
: [
: {name: "product1", price: 20, recommandOrder: "1evel1"},
: {name: "product2", price: 30, recommandOrder: "1evel1"},
: {name: "product3", price: 40, recommandOrder: "1evel1"},
: {name: "product4", price: 30, recommandOrder: "1evel2"},
: {name: "product5", price: 20, recommandOrder: "1evel3"},
: {name: "product6", price: 30, recommandOrder: "1evel3"}
: ]
: ```
: 從這邊可以看出來
: 第一個 level1 的商品是 product1
: 第一個 level2 的商品是 product4
: 第一個 level3 的商品是 product5
: 實際上我們每一次回傳的商品數量約 50~300 個
: 問題來了,app 團隊告知他們無法這樣計算,因為會有效能議題
: 但是… 為什麼一個普通的單次或兩次迴圈,
: 而且數量只有 300 的情況下會有效能議題
: app 團隊回應因為要建立物件對應 (hashMap),所以會有效能議題
: 這實在是有點難說服我,因為依照我對手機的了解,可以跑 3D 遊戲
: 可以玩跑跑薑餅人,可以玩動作卡牌遊戲
: 究竟是為什麼一個沒有 IO 的普通迴圈會有效能問題?
: 請問是我少考慮甚麼東西嗎? 麻煩有經驗的人幫忙回答一下,謝謝
我沒用APP 實做過但是我碰過這種實作方式的API.....
說實話....這種結構很糟.....很糟....
這明明是一個>=3維以上的資料結構,你硬要用二維來存
浪費RAM空間就算了
我要使用的的時候 還必須要重新結構化.....
另外 如果需求只是顯示部分商品,但每當我拿到資料要做篩選時
還必須要跑一次完整的資料建構?......
麻煩用json 丟個三微陣列給我
還有 用你之前SQL 的舉例
你給的資料就是沒有index 的DB 資訊.....不管要啥資料 都要O(n)的時間複雜度...
最近碰到一個狀況是 撈 飛機航般機票資訊
我明明只要一筆特定航班,我卻要建構五六百筆航班資訊.....玩我阿..
:
作者: cha122977 (CHA)   2016-08-11 02:54:00
只要一筆…不能開那種帶SQLite條件的API嗎?
作者: Jichang (C.C.Lemon)   2016-08-11 13:05:00
如果你是手機用戶 你會希望手機一直查?還是手機裡面算?
作者: KeySabre (KeySabreur)   2016-08-14 22:03:00
tradeoff

Links booklink

Contact Us: admin [ a t ] ucptt.com