Android Industrial: Real-time data visualization
summary
A mobile ventilator tester is built on a custom Android Lollipop BSP plus a bare‑metal controller that samples pressure, flow and temperature at 200 Hz sampling (5 ms batches) and streams primitives to the UI board. The app uses Looper/actor threads (communication → processing → UI → OpenGL), type‑safe quantity objects, object pooling and a recycle buffer (lockless, heapless single‑producer single‑consumer ring with reuse) to avoid GC churn; result: far fewer GC pauses and a smooth real‑time visualization on a 1 GB low‑end board, with OTA updates via a private server.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:56Mobile Ventilator Tester
- 1:49System Architecture
- 10:09Performance aware programming
- 11:19Architecture?
- 11:56App functionality
- 13:51Functional Units
- 14:46Data flow & event driven design
- 15:55Simple concurrency with actor model
- 16:32Android Main Looper Thread
- 17:20IMT DFF Notation (Active Parts)
- 18:14Code Example: Create & Connect
- 19:24Code Example: RawData
- 19:43Code Example: Measurement Sample
- 20:17Code Example: ProcessingAP (V1)
- 21:15Units and Quantity
- 28:38Code Example: ProcessingAP (V2)
related talks
22mHow My Android App Learned to Talk to Plants
40mAndroid high performance baby
37mAndroid Canvas: Building one of the worlds largest Interactive DataViz exp.
36mDrawn out: How Android renders
23mHow My Android App Learned to Talk to Plants
01h 01mAn Android Retrospective
45mHigh performance in Android
53mPractical Performance Tuning on Android
