Just My Life & My Work

Posts tagged ‘comparison’

[Flutter] Debug 包和 Release 包

由於在整合國際牌的推播套件,搞了一星期遇卡關,iOS 測試沒問題,Android 取得裝置 Token 噴錯,最後發現是 Debug 包和 Release 包的問題,然後大陸工程師 10/1-10/9 假期中⋯⋯剛好趁這時候來徹底角解兩者差異。🥸

絕大部分時刻我都是包 Release 版本,而在上海的夥伴則是包 Debug 版本,在測試時發現兩包有不同反應,後來追問題才曉得套件有 Release/Debug 差異。

flutter build apk --flavor dev --release
flutter build apk --flavor dev --debug

在 Flutter 開發中,DebugRelease 版本扮演著不同的角色,開發者需要了解兩者差異,才能在開發與上架流程中正確選擇。

.

Debug 版本主要用於開發與測試。它啟用了 Flutter 的 Hot ReloadHot Restart,讓開發者能快速驗證修改結果。程式碼使用 JIT(Just-In-Time)編譯,啟動較慢、效能較低,但換來靈活的除錯體驗。Debug 版本通常包含完整的日誌輸出、Debug Banner,以及可以透過 DevTools 檢查 widget tree、記憶體與效能。它使用系統提供的 debug key 簽名,因此無法上架商店。

相對地,Release 版本則是提供給最終用戶的正式包。Flutter 在這個模式下會使用 AOT(Ahead-Of-Time)編譯,將 Dart 程式轉換為原生機器碼,大幅提升效能與啟動速度。Release 版本會進行最佳化,例如代碼壓縮與資源精簡,App 體積更小、更流暢。它不支援 Hot Reload,也不允許連接 DevTools,日誌輸出也會受到限制。最重要的是,Release 版本需要使用正式的 keystore 簽名,才能提交到 Google Play。

簡而言之,Debug 版本適合開發與測試,強調靈活性;Release 版本則面向使用者,追求效能與穩定性。開發者必須在不同階段切換模式,才能兼顧效率與品質。

(繼續閱讀…)

App 遠端推播流程

現在大家用智慧手機,有網路的狀態下,總是會持續接收到遠端推播,可說是非常重要的功能。

.

在現今行動裝置普及的時代,遠端推播通知已成為企業與用戶之間最直接且即時的溝通管道。透過推播,企業能在第一時間將重要資訊、最新優惠或系統提醒送達使用者手機螢幕,不需要依賴電子郵件或使用者主動開啟應用程式,就能達到即時互動的效果。這種即時性不僅提升了資訊傳遞的效率,也大幅增加了用戶的參與度與黏著度。

對企業而言,推播是一種低成本但高效益的行銷工具。透過精準的分眾與內容設計,可以將正確的訊息送到正確的使用者手中,進而提升轉換率與品牌價值。而在服務應用層面,推播能即時提醒使用者系統異動、交易狀態更新或安全通知,強化使用者體驗與信任感。

此外,推播在使用者行為數據的收集與分析上也扮演關鍵角色。企業可藉由用戶對推播的反應,優化行銷策略與產品功能,形成良性循環。綜合來看,手機遠端推播不僅是一項技術工具,更是企業經營、用戶體驗與數據分析之間的重要橋樑,在現代數位生態中具有不可或缺的戰略價值。

(繼續閱讀…)

[寫真] 送自己生日禮物 iPhone 14

一回頭,又過了五年,使用 iPhone 11 手機至今,終究還是要更換,主要原因是容量 64G 實在不夠用,於是今年生日,在 Apple 產品發表 iPhone 16 後,我認為硬體升級對我吸引力不大,於是決定降兩階買 iPhone 14,容量提高至 256G,我相信未來五年應足夠使用。😉

我的 iPhone 11 64G,當前 iOS 佔了 8.89G,系統資料佔了 13.34G,居然超過總容量 1/3~還有令人又愛又恨的 Line,使用五年累積 16G 資料。

事實上,如果 iPhone 11 的容量有 256G,我應該還會繼續使用,目前作業系統升級至 iOS 16.6,運行體驗還算順暢,偶爾會卡頓的原因推測是剩餘容量低所致。使用五年未更換電池,目前電池健康程度:74%

(繼續閱讀…)

台灣牛奶世界第二貴

之前已有撰文來了解鮮奶與牛乳的差別,最近好奇為何台灣牛奶世界第二貴?😗

喜歡喝珍珠奶茶、拿鐵咖啡的我,有必要好好了解一下,畢竟是日常生活時常會遇到的民生用品。

.

(繼續閱讀…)

[Flutter] Const 與 Final 差異

學習 Flutter 來寫 App,一開始可以先了解 Dart 語法如何使用,像是我會認為 ConstFinal 是差不多的 Keyword,但實際上呢?

我們直接看以下的例子,就判斷是怎樣的差異,未來寫程式可以更精確地使用-不會被改變的值、物件、類別。🙃

(繼續閱讀…)

[圖解][疫情] 新冠肺炎的症狀

第三警戒就要進入第四週,6/14端午節解封看來有95%不可能,現在中央呼籲大家不要回家過節,以免把病毒帶到遠方散布,可見疫情一直沒有緩解,甚至還隱藏極度危險的警訊,我想大家都能在每日確診人數與死亡人數推測出來~甚至確診人數與死亡人數一直在「校正回歸」,不曉得還有多少案例持續被延遲揭露⋯⋯🥴

我在網路上看到某確診者的分享,連在家不出門也會被確診,到底是怎麼一回事?原來家人可能就是傳染途徑之一,不知不覺把病毒帶回家,首當其衝的會是自家長輩。我們必須非常小心,出門和回家都該消毒,儘管無法100%隔絕來源,但至少降低被感染的機會。有時候我會想,某些做法只是做「心安」?

現在我更想了解感染新冠肺炎症狀,確診案例中,有些人是無症狀或輕症狀,有些人則是重症狀,這讓我們想要防堵疫情更加艱難,因為實在不會知道跟我們最親近的家人,可能就是病毒攜帶者,真的防不勝防啊⋯⋯🥺

首先,我們來了解新冠肺炎的症狀有哪些?根據世界衛生組織公布,新冠肺炎患者會有14種典型症狀。參考:武漢肺炎十大症狀

廣告
(繼續閱讀…)

[圖解] 編譯 vs 直譯

公司有Web和App產品,每次帶新人都會提到這兩者,怎麼讓新人幾句話就能聽懂,這考驗我的功力!🤠

一直覺得自己說得不夠精確,兩者之間的差異為何?看來還是得複習一下,甚至用圖解來比較編譯和直譯

果真一張圖勝過千言萬語!

(繼續閱讀…)

Xcode 12 與 M1

今年11月初,Apple發表自家的Mac核心晶片M1,我以為只是個噱頭,沒想到居然比intel還要強!?

是最新5nm製程,擁有8CPU8GPU

(繼續閱讀…)

[iOS] for 和 forin 的差異

多虧Firebase Crashlytics的幫助,讓我曉得用戶發生哪些崩潰,在後台記錄得非常詳細,可以清楚讓我知道哪一個Class中的哪一行Code是崩潰關鍵!

可看到最近一週,有10次崩潰,影響10個用戶。

(繼續閱讀…)

鬼滅之刃 (Demon Slayer)

上一週日(11/1)去百老匯影城,將電影「鬼滅之刃-無限列車篇」看完,其實意猶未盡,原因是想知道這部片為何如此受歡迎,於是就上網搜尋有關鬼滅之刃的文章,這裡有個人比我還要熱血,一整週上完班還沒回到家就在追劇,還跟我報告人類角色們與鬼角色們各自的恩怨情仇⋯⋯

廣告

我笑說,若追完鬼滅之刃,有空可以再去追進擊的巨人,這也是部關於「吃人」的故事XD~

愛奇藝真是個好平台,之前想回顧獵人HunterXHunter,在愛奇藝看得我又熱血起來,這次託它的福,我迅速地追到第26集,也就能因此銜接上為何主角們要搭上無限列車。

廣告
(繼續閱讀…)

標籤雲