It's usual on Linux (where Android comes from), while the system has free memory it caches every access to storage devices to improve later access to same data. When the system needs memory for a process the cached memory is immediately available if needed, the system will discard or save on disk some of the cached content and use the new free memory for the demanding process. You nearly may consider cached memory as free memory.
On 11 mar, 20:46, Porting beginner <porting.begin...@gmail.com> wrote: > Hi, > > I have android running on my target platform. > When its booting, as kernel boots , I see free memory around 53mb-55mb range > there till console. > ( cat /proc/meminfo ) > > *Just after kernel boot... > * > > MemTotal: 88792 kB > *MemFree: 53496 kB > *Buffers: 0 kB > *Cached: 24028 kB* > . > . > . > > But once android services/apps starts and reach to idle screen, most of > memory cached > *Once reach to Idle screen* > > MemTotal: 88792 kB > *MemFree: 23228 kB ( keep changing in range of 23mb to 27 mb )* > * > *Buffers: 44 kB > *Cached: 20700 kB ( keep changing 19mb-25mb ) > * > > After this, if there is memory request from app , it seems android manage to > get it from cached > > As I start more and more apps, free mem decrease and cached mem increase but > after exit from app, mem still hold as cached > mem and not all mem return as free mem. > > And if there is request from kernel space ( from some driver module , > kmalloc or kalloc ), it seems its not going through and request failing. > > Any idea ? is that generic behavior of android ? > > -- > Thanks -- unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting