2013-02-01 61 views
12

मैं हो रही सभी आवेदनों और रनिंग अनुप्रयोगों और उनके आकार, उपयोग और CPU उपयोग के लिए एंड्रॉयड आवेदन को लागू कर रहा हूँ।सभी और चल रहे एप्लिकेशन आकार, सीपीयू उपयोग प्रोग्रामेटिक रूप से कैसे पुनर्प्राप्त करें?

लेकिन मैं कर रहा हूँ केवल पाने के सभी और अनुप्रयोगों को चलाने चिह्न, लेबल और Packegename सक्षम नहीं पुनः प्राप्त करने के आकार, उपयोग और CPU उपयोग

मैंने GooglePlayStore में एक एप्लिकेशन देखा जो एंड्रॉइड सिस्टम जानकारी है। उस ऐप में सभी सिस्टम जानकारी दी गई।

मैं उस जानकारी को प्रोग्रामेटिक रूप से पुनर्प्राप्त करना चाहता हूं।

किसी को भी कृपया मुझे कुल सिस्टम की जानकारी पहले से

धन्यवाद ................. पाने के लिए मदद कर सकते हैं

यहाँ मेरी कोड है:

हो रही सभी ऐप्लिकेशन के लिए:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
PackageManager pm = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA); 
ApplicationInfo entry = (ApplicationInfo) mListAppInfo.get(position); 
ImageView ivAppIcon = (ImageView) v.findViewById(R.id.ivIcon); 
TextView tvAppName = (TextView) v.findViewById(R.id.tvName); 
TextView tvPkgName = (TextView) v.findViewById(R.id.tvPack); 

// set data to display 
ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager)); 
tvAppName.setText(entry.loadLabel(mPackManager)); 
tvPkgName.setText(entry.packageName); 

हो रही है के लिए चल रहा है अनुप्रयोगों

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> runAppList = am.getRunningAppProcesses(); 
int listsize = runAppList.size(); 
Log.v("tag", "listsize..." + listsize); 

उत्तर

1

आप इस का उपयोग कर IPackageStatsObserver.aidl इंटरफेस कर सकते हैं। पैकेज बनाएं android.content.pm अपनी ऐप स्रोत निर्देशिका में और नीचे कोड लागू करें यह सभी जब्त आकार वापस कर देगा।

Method getPackageSizedInfo =pm.getClass().getMethod("getPackageSizeInfo",String.class,IPackageStatsObserver.class); 

getPackageSizedInfo.invoke(pm, pkgname,new IPackageStatsObserver.Stub() { 
@Override 
public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)throws RemoteException {double size=(double)pStats.codeSize+pStats.cacheSize+pStats.dataSize;} 
}); 
+0

(codeSize + dataSize + cacheSize) यह वापस आ जाएगी totalAppSize या केवल (codeSize + dataSize) सफलतापूर्वक वापस आ जाएगी कुल ऐप आकार – user3233280

+1

im एप्लिकेशन की सूची और प्रत्येक अनुप्रयोग के लिए अपने स्मृति आकार खोजने लेकिन मैं कैसे के लिए CPU उपयोग पा सकते हैं प्रत्येक ऐप? – user3233280