發佈版本
3.0.0發佈日期
2016年5月18日更新內容
- 重新設計界面及圖示以符合 Material Design 設計規範。
- 新的網路訂票功能。
- 支援橫向操作。
- 其他細部調整及錯誤修正。
開發札記
這次改版在功能上沒有太大更動,除了「網路訂票」的功能。之前是直接把訂票網站的資料都放在 App 裡面,因為那時候的訂票網站還不多,早期的版本還特別為每個訂票網站設計圖示,後來流行扁平化設計,就把圖示拿掉改成以簡單的色彩來呈現。最近各家電影院都開始提供自己的訂票系統,所以覺得是時候把它的資料從 App 中抽離了,方便日後修改。界面上的重新設計是為了符合 Material Design 的規範,上一版雖然也有加入 MD 的元素,但沒有深入瞭解,所以設計出來的界面不是那麼符合 MD 規範,這次就把儘量把它改好。
由於 Android 每隔一陣子就會有大改版,我都不知道修改了幾次有關 ActionBar 的程式碼,現在改叫 Toolbar,Drawer 也改了好幾次,真是有夠累人。另外就是關於螢幕旋轉的支援,其實旋轉螢幕沒那麼簡單,有些小細節要小心處理,當初就是為了避掉這些麻煩。
關於測試,看看 OpenSignal 2015 年的報告 ,如下截圖:
Android 的裝置多到有如碎片,所以當我最後把所有程式都寫完了,開始在各個版本的模擬器上測試,就出現相當多的問題,這時候連實機都還沒開始測。當我終於解決了各個模擬器上會出現的問題後,我手上的實機其實也只有兩台,一個是之前買的 Galaxy Nexus (I9250),及另一支別人的舊手機 HTC Desire 610。
痛苦的地方來了。Nexus 是自己刷機刷成 5.0 的,在把所有內建服務都關掉,不使用任何 Widget ,只保留一個螢幕的情況下,用起來的速度還可以,但其實硬體差就是差,在開個 feedly 看看都會不時 crash 的情況下,測試《電影時刻》當然也很容易就崩潰了。我的想法是,把效能調到這支那麼爛的舊手機都能跑的情況下,應該就能在大部份使用者的裝置上跑了吧,也只能儘量了。
最後有個好奇的地方。之前的版本都是用 Eclipse + ADT 的方式開發,最後發佈的 apk 檔有 8.5 MB,而這次改用 Android Studio 開發,apk 檔竟然只有 4.9 MB,雖說這次有減少很多圖檔及清掉許多不需要的資源檔,但這容量也未免差太多了吧,還是因為我有用 kotlin 的關係,反正容量 down 了快一半。