FrameTemp Monitor - 2023

Key Takeaways

  • Designing and developing mobile applications with Android Studio
  • Android application lifecycles
  • Using Kotlin coroutines to safe performance on the main thread
  • Overlay (LifecycleService) that can stay on even when the main application is paused
  • Room database
  • ViewModels
  • XML layouts

Frame Temp Monitor is an Android application that can monitor the frame rates of the display and temperatures of both battery and CPU. The monitored values are updated every second. User can enable an overlay that will stay on top of other Android applications, allowing the user to monitor the performance in real time while doing something else on their device. This overlay can also be moved around the screen using touch controls. The overlay can be stopped and removed by dragging it to the bottom of the screen. Monitored performance data can be stored into a local Room database for later viewing.

For future development, the user interface should be made more attractive. This app was made as research assignment for our Android Application Development course and so my time was limited. Most of the development time was spent coding the business logic instead and so the user interface ended up being very basic looking. The application could also benefit from more detailed and visually interesting performance data, such as the ability to see the performance data in a graph.

That said, it was interesting project to work on and I got to learn more about traditional Android UI development with XML layouts and Views. I have since got to work with Jetpack Compose project during my internship and while I must say that I greatly prefer the Jetpack Compose's declarative approach to Android development, learning the XML layouts is still very beneficial. Very high percent of currently deployed Android applications are still using XML layouts so knowing how to work with them is a must for any Android developer.