File: trnpix/_viewable/2021 Android 12.png.note
More Android fun, one year on. As captured here on a Pixel 4a, Android 12 has the same speed and access issues as Android 11. That's not exactly surprising, but 12 also adds a "phantom" process killer which culls child processes at arbitrary points after a cross-phone limit of 32 has been reached. While the risk varies per usage (and my phones have never had a kill), this can break apps like Termux and the Python scripts they run, and it may impact millions of users. More info _<A HREF="https://learning-python.com/android-deltas-sync/_README.html#12phantomprocesskiller">here_</A>. Luckily, adb commands in 12 and 12L along with a new Developer setting to appear in 13 can work around this. But the process killer was rudely added in 12 with no notice whatsoever, and a work-around is not the same as a reversal. It almost seems like Android no longer cares about "power" users, but only for naive and sadly gullible content consumers who are perfectly happy to carry around toyish phones that double as data vacuums and billboards. Go figure... See the _<A HREF="https://www.google.com/search?q=android+12+process+killer">web_</A> for more background. This hopefully isn't the death knell for Python on Android, though it is a precarious platform. iOS is closed too, but at least it's honest about it. _<HR> _<I>2024 updates_</I>: as later demoed by _<A HREF="https://quixotely.com/PC-Phone%20USB%20Sync/">this_</A> Python-coded app, shared storage and USB drives _<I>can_</I> still be accessed with POSIX file tools on Android by obtaining its All Files Access _<A HREF="https://learning-python.com/mergeall-android11-updates.html#allfilesaccess">permission_</A>. This requires extra proprietary code and may keep some apps off the Play store, but it's a one-time step. Full apps can also sidestep process kills with Android API calls that manage services. As of Android 15, however, storage accessed this way remains as slow as noted here. This reflects Android 11's _<A HREF="https://www.google.com/search?q=android+11+fuse+is+slow">FUSE_</A> choices as well as the extra code layers it uses to limit access (e.g., the _<A HREF="https://www.google.com/search?q=storage+access+framework+is+slow">SAF_</A>). Four years on, the sloth of these remains unchecked, and Android's performance profile favors a closed sandbox model that severs the cross-app dataflow at the heart of content _<A HREF="https://learning-python.com/android-deltas-sync/_README.html#Closing%20Thoughts">creation_</A>. On the upside, some phones finally have a switch in Developer options to disable the child-process limit. While welcome, this toggle's obscurity also reflects the low esteem in which Android holds its users. Sacrificing functionality and performance in the name of an arguably dubious "safety" leaves us with phones that are useless for all but the trivial and mundane. Some of us still care.