Source: https://css.csail.mit.edu/6.858/2022/readings/android-platform.pdf