About me

STAFF / PRINCIPAL SYSTEMS ARCHITECT

林柏均 | Booch Lin

Linux Kernel & AOSP · Modern Android Architecture · Edge AI & Fullstack

我特愛搞效能問題,效能問題搞完就搞效率問題,老是覺得哪裡好像可以優化一點,那裡有坑就補哪,不只手機,也搞前後端

12 年底層系統與邊緣 AI 老兵。堅信好架構不是在頂配硬體上堆資源,而是在極限約束下把每一 byte 記憶體與每一 cycle 算力榨乾。愛踩坑、愛排障、愛把複雜系統重構成優雅合約,從內核驅動到全端商業產品一路打通。

01
底層系統、AOSP 與端側 AI 榨汁

貫通 Linux 內核調度、LMKD/PSI 水線、ION 零拷貝到 ARM NEON / FastCV 向量指令;專攻在 2GB 受限硬體上把記憶體與算力壓榨至極限,720h 穩態零崩潰。

02
現代 Android 軟體架構與 App 極限調優

深入 Jetpack Compose 三階段渲染機制守住 60fps 滿幀;精準駕馭 Kotlin 協程、Flow 與 SupervisorJob 異常邊界,根除異步競態;落地大型多模組解耦架構。

03
架構領導、全端交付與商業閉環

帶領 4~5 人跨國團隊解耦百萬行 SDK(維護成本 -40%),純軟體調優替代昂貴硬體 BOM;同時具備以 Vibe Coding + Serverless 極速商轉 10+ 門市 POS 的全端實力。

END-TO-END LATENCY
1200ms ➔ <800ms
雙鏡頭+3D點雲全流程推理,提速 40% (競品 1200ms)
HARDWARE BOM COST
4GB ➔ 2GB
純軟體調優替代高規硬體,省下百萬級量產採購成本
SECURITY STANDARD
BCTC 金融級
通過銀行卡檢測中心最高安全 3D 活體防偽認證
COMMERCIAL IMPACT
10+ 店 / #1 榜首
一番賞 POS 實體落地;Funny Vote 榮獲開源榜首

# 代表專案全景 (Featured Production Projects)

三大完整專案框 · 端到端交付實錄
旗艦專案 · 邊緣 AI 軟硬終端 高通 QM215 (4× A53 1.3GHz) · 2GB RAM · Android 9/10 自控 ROM
高通 QM215 雙鏡頭 3D 智慧門禁終端與 IAM-3D SDK 全棧交付
18 篇全棧實錄

專案背景與整體戰果:針對百萬級大規模量產的智慧門禁設備,在極限硬體約束(2GB RAM、無專用 NPU、無獨立 3D ISP)與 7×24 小時無人值守不停機的嚴苛工況下,主導從 Linux 內核裁剪、Camera HAL3 雙鏡頭驅動、C++ 點雲解調、ARM NEON SIMD 矩陣加速到端側 AI 部署的全鏈路交付。以極致純軟體調優替代 4GB 高規硬體,直接為公司大幅節省百萬台採購 BOM 成本;同時重構 SDK 為 6 大解耦模組,帶領 4~5 人跨國團隊將第三方維護成本壓低 40%。

子系統 01 · 內核與記憶體治理

AOSP 裁剪與 Linux 內核水線調優

徹底拔除電池監控、列印、藍牙音訊等 10+ 無用系統服務;重寫進程調度與 Userspace LMKD/PSI 水線,開機常駐內存直降 15% (釋放 200MB+),徹底消除記憶體赤字。

開機常駐記憶體 1.3 GB 1.1 GB -15% (省 200MB+)
720h 物理壓測 頻繁 OOM 閃退 0 次崩潰 穩態 100%
子系統 02 · 雙鏡頭 3D 視覺

Sony iToF 4 相位解調與 3D 點雲管線

處理 Sony IMX516 4 相位原始幀,透過 C++ 連續緩衝區排程、NEON 向量開方與查表法,將點雲投影從 50ms 壓至 11ms;實作鐵碗池化與 ION 跨層零拷貝,根除 Dalvik GC Thrashing。

Sony iToF 單幀耗時 50 ms 11 ms 提速 4.5x (-78%)
管線穩態幀率 12~15 fps 掉幀 30 fps 滿幀 純軟防偽省晶片
子系統 03 · 晶片級運算加速

ARM NEON 向量化與 ACL SGEMM 特徵檢索

面對 5,000 人 × 512 維浮點特徵比對,將資料布局轉為行優先連續記憶體;引入 ARM Compute Library (ACL) SGEMM 結合 JNI 直取原生指標,在低階 A53 晶片達成極速檢索。

5,000 人 1:N 耗時 150 ms 3.0 ms 提速 50x (-98%)
端側 AAR 交付體積 50 MB 8 MB 瘦身 -84%
子系統 04 · 工控 IoT 離線自癒

惡劣網路 7×24 離線保活與邊緣狀態機

外部獨立硬體看門狗保活;雙向 WebSocket 心跳鏈路與離線雙寫架構,徹底避開 SQLite CursorWindow 2MB 拋錯死鎖;BLE Peripheral 嚴格狀態機確保一次配網成功。

離線堆積容載 CursorWindow 2MB 崩潰 10,000+ 筆離線雙寫 零死鎖
極端工況可用率 現場需人工重啟 100% 邊緣自癒 720h 零維護
商業閉環 · 實體零售 SaaS React · TypeScript · Serverless · AI 輔助開發 (Vibe Coding)
Onesoul 一番賞 POS 智慧零售系統(玩獸集團)
10+ 實體門市商用

現代敏捷交付與商業化驗證:實踐現代 AI 深度輔助開發(Vibe Coding),在極短週期內獨立完成高複雜度零售收銀、獎券清冊、配率防偽與多門市即時庫存同步系統。自研抽獎期望值演算法,徹底杜絕店員作弊與尾籤庫存虧損風險;系統授權商轉至超過 10 家實體一番賞門市,展現架構師除了底層深水區之外,同時具備將現代 AI 工具鏈轉化為商業變現的極速閉環實力。

實體門市落地 從概念驗證 10+ 實體門市授權運營 商轉落地
庫存虧損風險 傳統紙本尾籤虧損 自研期望值演算動態控盤 0 赤字
交付開發效率 傳統團隊數月週期 Vibe Coding + Serverless 極速交付 高 ROI
開源標竿 · 現代 Android 架構 Compose · Kotlin Coroutines · SupervisorJob · Hilt · CI/CD
Android Funny Vote 趣投票 & 現代 App 架構深度實踐
2020 中文投票 App #1

開源社群認可與現代工程標準:GitHub 開源 Android 應用(MVP + Dagger2 + RxJava + Greendao + Travis CI),斬獲 2020 年中文投票類 App 排名第一。並以此專案與團隊組內分享為基底,持續沉澱現代 Android 核心架構文章:深入 Jetpack Compose 三階段渲染機制解決掉幀、落實 SupervisorJob 異常隔離邊界、根除 Kotlin 協程並發連發競態,並建立多模組 Hilt 依賴注入標準。

開源市佔成績 GitHub 開源獨立上架 榮獲 2020 中文投票 App 排名第一 榜首認證
Compose 渲染幀率 42 fps 頻繁重組掉幀 60 fps 滿幀絲滑 重組 -80%
協程異常隔離 子協程拋錯引爆全域 SupervisorJob 確定性邊界 0 級聯崩潰

# 核心職涯歷程與攻堅戰果 (Career Milestones & Leadership)

12+ 年系統工程與團隊領導 · 核心量化指標
主任系統工程師 & Android Team Lead | 羅傑斯人工智能
2020.07 – 2024.12

帶領 4-5 人跨國 Android 團隊(台灣 3-4 人,中國 1 人),負責雙鏡頭 3D 智慧門禁終端與 IAM-3D 核心 SDK 架構,主導技術選型與產品量產交付。

4-5 人跨國團隊 開機 RAM -15% (200MB+) AAR 50MB ➔ 8MB (-84%) 比對 150ms ➔ 3.0ms (50x) 720h 零崩潰穩態量產 維護成本 -40%
  • AOSP 系統裁剪與硬體 BOM 降本:裁剪無用系統服務,開機記憶體佔用降低 15% (200MB+);改寫進程調度與 Userspace LMKD/PSI 水線,使公司能在 2GB 低成本晶片硬體上達成 720h 零崩潰穩態量產,直接替硬體產品大幅節省採購 BOM 成本
  • SDK 模組化解耦與團隊賦能:主導將 IAM-3D SDK 重構成六大解耦組件,建立嚴格 API 與線程邊界合約,使第三方廠商對接從 3 週縮減至 3 天,後續維護與客製成本直接降低 40%
  • 端側 AI 與雙鏡頭極限榨汁:主導 Dual Camera 影像流整合與端側 AI 部署;透過 ARM NEON / FastCV 向量化像素管線,人臉辨識耗時縮短至 800ms 內 (加速 40%),AAR 體積壓縮 84% (50MB → 8MB)。
  • 資料管線零抖動:實作高頻數據流速率控制,以 direct ByteBuffer 與 NativeAllocationRegistry 報備 native 記憶體,有效根除記憶體抖動。
人工智能資深研發工程師 | 竹間智能
2018.07 – 2020.07

帶領 Android 端開發並建置 Python 演算法後台,負責多模態模型整合(圖像、語音、文字)與企業級無感打卡主力產品落地。

3 款端側演算法產品化 Huawei HiAI NPU +25% 推理加速 模型載入時間 -60% 萬人級企業打卡落地
  • 端到端 AI 跨界整合:負責 Android Client 與 Python 演算法後台的架構串接,推動 mtcnn、ncnn、dlib 等端側演算法產品化。
  • 晶片級推理加速:引入 Huawei HiAI SDK 轉換模型為 Cambricon 格式,在 NPU 晶片端實現 25% 推理加速。
  • 模組熱更新:設計演算法模組快取與熱更新機制,使端側演算法模組載入時間縮短 60%。
  • 無感企業考勤 App:調校 OpenCV 相機控制並整合人臉、口罩與活體檢測,落實 Clean Code 架構與完整單元測試。
研發主任 (R&D Lead) | 宏碁股份有限公司 (Acer)
2012.05 – 2017.05

主導 Android 系統級應用開發、自駕車前瞻技術研究與創新硬體配件系統整合。

1 款雙螢幕創新配件 (E-cover) 打通 3 大總線 (POGO/SPI/BLE) 整合 5+ 國際生態伙伴 百萬級量產 Launcher
  • 創新配件跨生態整合:主導平板 E-cover 配件軟硬整合,打通 POGO pin USB、SPI 與 BLE 4.0;改寫 Framework 並釋出 SDK 供第三方操作第二螢幕。
  • 跨廠商軟體生態協調:協調整合 Kindle、AccuWeather 等 Content Vendor 接入雙螢幕生態,推動技術商業化落地。
  • 主力 Launcher 研發:主導出貨機客製化 Launcher 開發,調校記憶體與流暢度,整合社群與新聞資訊流。
全端商業閉環 & 獨立開源實踐 (Indie Product & OSS) | 個人專案
2017 – 至今
10+ 家實體門市商用 2020 年中文投票 App #1 榜首 100% 開源 (MVP+Dagger2+RxJava) Vibe Coding / Serverless 極速閉環
  • Onesoul 一番賞 POS 系統(玩獸集團):實踐現代 Vibe Coding(AI 深度輔助開發),以 React + TypeScript + Serverless 架構極速完成商業化閉環,授權落地至十家實體門市;自研期望值演算法為店家消除庫存虧損風險。
  • Android Funny Vote 趣投票:GitHub 開源 Android App(MVP + Dagger2 + RxJava + Greendao + Travis CI),榮獲 2020 年中文投票 App 排名第一

# 我工作的方式 (How I Work)

工程領導原則

01 // 物理約束優先

在寫代碼前,先算清楚記憶體頻寬、快取大小與最壞延遲;以 Systrace、dumpsys 與火焰圖取代直覺猜測。

02 // 異常邊界確定性

工控現場不存在理想環境。任何 I/O、IPC 或演算法都必須具備逾時、降級自愈與可觀測性防護機制。

03 // 降低英雄主義依賴

將一次性排障沉澱為可回歸測試、架構決策紀錄(ADR)與團隊能安全接手的標準合約。

打造能打勝仗的系統架構與量產產品。

如果你正在尋找兼具極限底層護城河、跨界交付實力與團隊領導經驗的 Staff / Principal Architect,歡迎交流:

在〈About me〉中有 22 則留言

  1. 「Mark Henderson」的個人頭像

    Hi Booch, really appreciate your early notes on the Android camera subsystem architecture. We are currently dealing with HAL1 buffer callback drops on Android 6.0 Marshmallow. Curious if you have explored switching to HAL3 streams directly without the Java Camera API overhead?

  2. 「林彥甫」的個人頭像
    林彥甫

    你好 Booch,關於 AOSP 7.1 的 RRO 實作,如果針對特定系統服務做 resource overlay,遇到 AssetManager cache 沒有及時 invalidate 的狀況,你們通常在哪一層觸發更新?

  3. 「Julian Vogel」的個人頭像

    Hi Booch, came across your article while trying to optimize a high-frequency UI on an embedded Android display. Your reflection workaround on AbsListView was super insightful. Are you still taking on freelance advisory for low-spec UI performance?

  4. 「David Chen」的個人頭像
    David Chen

    Great technical depth on the Android platform internals. We are developing an enterprise tablet with limited 1GB RAM and fighting low memory killer kills constantly. Would love to connect and exchange notes on headless Android service stripping if you are open to a brief chat.

  5. 「Kevin Liu」的個人頭像
    Kevin Liu

    探討 ThreadPoolManager 那篇寫得很到位。我們重構遺留系統時也遇到任務排隊餓死。想請教你們在多模組專案中,對於 I/O 與 CPU-intensive pool 的執行緒配比與拒絕策略是怎麼定規矩的?

  6. 「Stefan Larsson」的個人頭像

    Hey Booch, excellent breakdown of multi-camera streaming. Did you hit any cache coherency issues when passing ION buffers between the Camera HAL and your native processing pipeline via JNI? We are seeing intermittent frame tearing on a custom Quad-core A53 target.

  7. 「Alexey Morozov」的個人頭像
    Alexey Morozov

    Hi! Found your blog through an AOSP camera pipeline discussion. We are building an industrial IoT vision device running Android 9. Are you available for remote consulting or architectural review on driver/HAL memory bottlenecks? Drop me an email if interested!

  8. 「林志偉」的個人頭像
    林志偉

    在做門禁設備 BLE 配網時,遇到 iOS 重連時 GATT cache 錯亂。想請教你們在處理不同品牌手機的 MTU negotiation 時,狀態機重試與超時機制是怎麼設計的?

  9. 「Hiroshi Tanaka」的個人頭像

    Hello Booch-san. Your posts on SIMD NEON vectorization and YUV format conversion are extremely thorough and helpful. We are porting a real-time face landmark model to a low-tier ARM SoC. Would love to ask your insight regarding NEON register spill under compiler optimization flags.

  10. 「Liam O'Connor」的個人頭像
    Liam O’Connor

    Hi Booch, loved the pragmatic approach in your IoT connectivity articles. Fighting the Android Doze mode and TCP half-open connections in industrial field devices is indeed painful. Thanks for sharing battle-tested insights instead of textbook theory!

  11. 「Sean Huang」的個人頭像
    Sean Huang

    離線雙寫這篇抓得很準。邊緣設備斷網堆積紀錄後直接 query 容易撞 2MB 上限,走檔案路徑搭配 SQLite 確實乾淨很多。感謝分享這個架構細節。

  12. 「Matteo Rossi」的個人頭像

    Hi Booch, great article on Sony ToF sensor integration. Did you compute the 4-phase raw depth calculation on DSP or purely CPU NEON? We have strict thermal constraints on our handheld 3D scanning project and would appreciate your technical thoughts.

  13. 「Carlos Mendez」的個人頭像
    Carlos Mendez

    Hey Booch, your writeup on memory pressure and LMKD PSI configuration is gold. Hard to find accurate real-world documentation on configuring memory.pressure stalls for RAM-constrained 2GB devices. Looking forward to your next system architecture posts!

  14. 「銘峰」的個人頭像
    銘峰

    工控 UI 轉 Compose 確實容易因為不必要的重組掉幀。拆解到 Draw 階段與加上 Stable 標註後流暢度改善很明顯,分析很清楚。

  15. 「Erik Lindgren」的個人頭像

    Hello Booch, fantastic insights into physical watchdog vs software heartbeat loops. We are designing a 24/7 unattended retail kiosk and suffered occasional kernel hangs where user-space watchdog failed to reboot. Your two-stage hardware kick architecture gave us a great blueprint.

  16. 「Vikram Patel」的個人頭像
    Vikram Patel

    Hi Booch, excellent engineering writeup on optimizing 1:N vector cosine similarity with ARM Compute Library SGEMM. Taking 5,000 face embeddings down from 150ms to 3ms is massive. Are you planning to cover NPU offload (Hexagon / SNPE) in future articles?

  17. 「睿哲」的個人頭像
    睿哲

    CreationExtras 注入那篇精準避開了多模組拆分時的循環依賴。ViewModelProvider.Factory 與 Hilt 邊界的梳理很清晰,很實用的架構經驗。

  18. 「Renaud」的個人頭像

    Hello,
    My startup is looking for someone capable of rewriting the CameraHal on our driver to upgrade to camera2 API. Do you know who can do this job ?

    Thank you,

    Renaud

  19. 「Thomas Becker」的個人頭像

    Hi Booch, came across your article on adapting WebRTC native C++ pipeline for low-power edge gateways. The way you tackled hardware H.264 encoder bitrate adaptation under poor cellular networks was brilliant. Do you do technical consulting for European companies?

  20. 「Daniel Wu」的個人頭像
    Daniel Wu

    Hey Booch, brilliant series on squeezing AI models onto resource-constrained Android hardware. Calculating memory deficits down to the kernel watermark is something very few Android developers actually understand. Would love to grab a coffee if you ever visit Singapore!

  21. 「家豪」的個人頭像
    家豪

    戶外智慧終端夏天常因高溫觸發 CPU 降頻導致相機丟幀。想請教你們在溫控排程上,除了綁定核心親和性之外,是否有實作動態幀率或解析度降級的保護機制?

  22. 「Arthur Pendelton」的個人頭像

    Hi Booch, thoroughly impressed by the depth of your System Case Studies on this page. Connecting Linux kernel PSI watermarks all the way up to Camera HAL and Compose render phases represents true full-stack systems engineering. Following your work closely!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *