There's a difference between `dev/null` and `/dev/null`.

As you said, the Android **System** uses `/dev/null`. That's not a normal user space app. :)
From what I've gathered, the [internal `RuntimeInit` class](https://github.com/android/platform_frameworks_base/blob/master/core/java/com/android/internal/os/RuntimeInit.java#L310-L318) does the redirect. But I might be wrong.

I just want to make sure accessing `/dev/null` is actually possible on a non-rooted device. There's both [internal](https://developer.android.com/guide/topics/data/data-storage.html#InternalCache) and [external](http://d.android.com/guide/topics/data/data-storage.html#ExternalCache) cache directories. However the documentation does not specify exactly when these are collected and recommends maintaining the cache directories ourselves.