On Monday, 12 September 2016 at 22:57:23 UTC, Andrei Alexandrescu wrote:
An interesting article written for laypeople: http://www.theverge.com/2016/9/12/12886058/iphone-7-specs-competition

One quote that may be of relevance to us: "As to the iPhone’s memory, this is more of a philosophical distinction between Apple and Google. The former is neurotic about killing background processes and dumping background apps from memory in iOS, whereas the latter is more liberal with app management in Android (though Google is gradually moving toward the Apple way of doing things). The upshot is that an iPhone can feel super smooth and responsive with half the RAM of an Android device. RAM consumes power, so having less of it is another factor contributing to the iPhone’s efficiency lead."

This may be interpreted as follows: the iPhone uses native apps with reference counting whereas the Android uses a virtual machine with tracing garbage collection. It follows that the latter needs more memory for the same performance, and is more jerky in behavior than the former. Wondering to what extent this is true. If it is, that provides more impetus for reference counting for D by the following logic: (a) it is likely that in the future more code will run on portable, battery-powered systems; (b) battery power does not follow a Moore trajectory, so at this point in history demand for battery lifetime is elastic.


Andrei

I would interpret it quite differently to this.
On iOS applications that are not currently in the foreground or are a service get killed unconditionally. On Android applications keep running even when they are no longer foreground but instead get 'paused'. Here is a handy little graph of the different events an Android app can be in[0]. Note the difference between onPause and onStop.

[0] https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Reply via email to