Sha256: 8aa6c27315c872925eef0e9fd3f9802c3c36e15d740240c37633a58dab0d1a5e

Contents?: true

Size: 1.96 KB

Versions: 22

Compression:

Stored size: 1.96 KB

Contents

package com.rhomobile.rhodes;

import android.app.ActivityManager;
import android.content.Context;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class MemoryInfoCollector {
	public static String collect() {
		StringBuilder builder = new StringBuilder();
		builder.append("Memory usage:\n");

		{
			builder.append("Contents of /proc/meminfo:\n");
			builder.append(getProcMeminfoContents());
			builder.append("\n");
		}

		{
			builder.append("MemoryInfo from ActivityService:\n");
			builder.append( getActivitiManagerMemInfo() );
			builder.append("\n");
		}

		return builder.toString();
	}

	private static String getProcMeminfoContents() {
		try {
			BufferedReader reader = new BufferedReader( new FileReader("/proc/meminfo"));
			String line  = null;
			StringBuilder stringBuilder = new StringBuilder();
			String ls = System.getProperty("line.separator");
			int nLines = 0;
			//get only first 5 lines
			while( (( line = reader.readLine() ) != null) && ( nLines++ < 5 ) ) {

				stringBuilder.append( line );
				stringBuilder.append( ls );
			}
			return stringBuilder.toString();
		} catch (IOException e) {
			return "Can't get contents of /proc/meminfo";
		}
	}

	private static String getActivitiManagerMemInfo() {
		try {
			Context context = RhodesService.getContext();
			ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
			ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
			activityManager.getMemoryInfo(memoryInfo);

			StringBuilder builder = new StringBuilder();

			builder.append("memoryInfo.availMem ").append(memoryInfo.availMem).append("\n");
			builder.append("memoryInfo.lowMemory ").append(memoryInfo.lowMemory).append("\n");
			builder.append("memoryInfo.threshold ").append(memoryInfo.threshold).append("\n");

			return builder.toString();
		} catch ( IllegalStateException e ) {
			return "Can't get memory info from ActivityManager";
		}
	}
}

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
rhodes-7.6.0 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-7.5.1 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-7.4.1 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-7.1.17 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-6.2.0 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-6.0.11 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.18 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.17 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.15 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.0.22 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.2 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.0.7 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.0.3 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-5.5.0 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
tauplatform-1.0.3 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
tauplatform-1.0.2 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
tauplatform-1.0.1 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-3.5.1.12 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-3.3.5 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java
rhodes-3.4.2 platform/android/Rhodes/src/com/rhomobile/rhodes/MemoryInfoCollector.java