Android 台灣中文網
標題: Android 優化大師客戶端(90%完整版) [打印本頁]
作者: 暗桌之光 時間: 2011-7-24 12:01
標題: Android 優化大師客戶端(90%完整版)
提供的代碼非編譯後的,是完整原始代碼。但有部分代碼因為特殊原因丟失了。
剩下的幾個未完成的給幾個提示,其實就是文件讀寫操作,handler,還有TimeTask結合去處理,然後繪圖,更新ui
/sys/class/net
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
/proc/stat
/proc/self/net/dev
/proc/meminfo 這幾個文件一看名字你們就懂,不過這幾個文件在ddms中你看不到喲,不能導出來.
再貼幾個方法- public long getAvailMemory() {
- ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
- ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
- am.getMemoryInfo(mi);
- return mi.availMem;
- }
複製代碼- public long[] getRomMemroy() {
- long[] romInfo = new long[2];
- //Total rom memory
- romInfo[0] = getTotalInternalMemorySize();
- //Available rom memory
- File path = Environment.getDataDirectory();
- StatFs stat = new StatFs(path.getPath());
- long blockSize = stat.getBlockSize();
- long availableBlocks = stat.getAvailableBlocks();
- romInfo[1] = blockSize * availableBlocks;
- getVersion();
- return romInfo;
- }
- public long getTotalInternalMemorySize() {
- File path = Environment.getDataDirectory();
- StatFs stat = new StatFs(path.getPath());
- long blockSize = stat.getBlockSize();
- long totalBlocks = stat.getBlockCount();
- return totalBlocks * blockSize;
- }
複製代碼- public long[] getSDCardMemory() {
- long[] sdCardInfo=new long[2];
- String state = Environment.getExternalStorageState();
- if (Environment.MEDIA_MOUNTED.equals(state)) {
- File sdcardDir = Environment.getExternalStorageDirectory();
- StatFs sf = new StatFs(sdcardDir.getPath());
- long bSize = sf.getBlockSize();
- long bCount = sf.getBlockCount();
- long availBlocks = sf.getAvailableBlocks();
- sdCardInfo[0] = bSize * bCount;//總大小
- sdCardInfo[1] = bSize * availBlocks;//可用大小
- }
- return sdCardInfo;
- }
複製代碼- public void getTotalMemory() {
- String str1 = "/proc/meminfo";
- String str2="";
- try {
- FileReader fr = new FileReader(str1);
- BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
- while ((str2 = localBufferedReader.readLine()) != null) {
- Log.i(TAG, "---" + str2);
- }
- } catch (IOException e) {
- }
- }
複製代碼 效果圖。