top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Running Android with low RAM

+1 vote
256 views

I am looking at this webpage that describes several optimizations that were made to Android, to run on low RAM devices:

http://source.android.com/devices/low-ram.html

One of them is trimmed system_server. Where can I find the specific changes that optimize the system_server (from this aspect) ? Is doing diff of each java file the only way ?

posted Nov 11, 2013 by Majula Joshi

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote

AFAIK diff of related java files with any particular module is the only way to know the specific changes. if there's any other possible way i would also be interested to know that..

And about "trimmed system_server"... there are few optimizations are made like:

  1. Previously system server performing all work in a separate thread started by main process i.e. Zygote, but Now in Android 4.4 System Server is not making any separate thread, and performs it's all work in the same Main thread with the optimization through Looper support, so that it is easy to put large number of Loopers in the monitor efficiently. (see here: https://android.googlesource.com/platform/frameworks/base.git/+/efa92b2182ab581873aa8e75d596e2e363bd5e6d)

  2. Previously system server was starting all system services by default, but now in Android 4.4 as an optimization, a set of on/off switches are introduced which are used to control startup of individual services.means if any System feature is disabled in configuration than respective System service is not started, for example if Bluetooth is disabled in System config, System server checks it like below :
    boolean disableBluetooth = SystemProperties.getBoolean("config.disable_bluetooth", false);
    and if disableBluetooth is false than BluetoothManagerService is not started and same logic is also applied for all other system feature and system services also.

(see here https://android.googlesource.com/platform/frameworks/base.git/+/e4d9a01bfc7451afff1ed399a5801c7aa2af2831)

So with these two optimizations, SystemServer is trimmed for optimizations.

answer Nov 12, 2013 by Abhay Kulkarni
Similar Questions
+1 vote

I want to scan BLE (Bluetooth Low Energy) advertisers passively within my Android App. But I couldn't found how to do this.

I would appreciate if someone could give me some help.

0 votes

According to CDD document, it is stated below"Device implementations MUST have at least 340MB of memory available to the kernel and userspace. The 340MB MUST be in addition to any memory dedicated to hardware components such as radio, video, and so on that is not under the kernel's control."

MY understanding:
340 MB is required for both user and kernel space. 340 MB is for hardware components , So, in total minimum 680 MB (Please correct me if my understanding is wrong ?)

But, if i look at mobiles that are available in the market, they are not compliance with the requirement. (HTC ONE V , has 512 MB of RAM, but still runs android 4.0.3 , in which the requirement is 680MB.)

Considering above, how the OEM vendor passes compatibility test?

+1 vote

The default setup wizard setting is using the back fingerprint sensor, how to change it to the front one in Setup Wizard?

+7 votes

Is it possible to profile all the app processes running on android phone simultaneously. I ran "am profile start " one by one for all the app processes. I found that it just profiles the last process. Is it possible to profile multiple processes simultaneously without editing app code (adding "Debug.startMethodTracing" calls)?

+1 vote

Is it possible to run a linux application on android platform....

...