当前位置: 首页 > news >正文

网站应如何设计建网站的公司深圳

网站应如何设计,建网站的公司深圳,360网站seo如何做,头像logo在线制作免费在内存非常吃紧的情况下#xff0c;android设备会开始kill部分非系统进程甚至系统进程来保证基本的系统运行。在这种情况下如何获取设备过去某段时间的ram使用情况至关重要。 通过开发者模式中的“内存”可以完美得知设备内存使用信息。 我们可以通过此途径#xff0c;设计一…在内存非常吃紧的情况下android设备会开始kill部分非系统进程甚至系统进程来保证基本的系统运行。在这种情况下如何获取设备过去某段时间的ram使用情况至关重要。 通过开发者模式中的“内存”可以完美得知设备内存使用信息。 我们可以通过此途径设计一套通过广播打印内存信息的方式以应对各种调试情况此文仅将内存信息通过log的形式后台打印获取。 1.发送的广播需要在BroadcastQueue.java特别处理避免被系统拦截。 2.为了避免各种权限问题将此套方案耦合在Settings模组。 3.RamInfo参考开发者模式中的方式获取过去某段时间的内存使用情况。 Index: frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java--- frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java (版本 10810)frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java (版本 10827)-121,6 121,7 sBackgroundActionWhiteListArraySet.add(com.android.settings.action.RAM_INFO);}Index: packages/apps/Settings/src/com/android/settings/applications/RamInfo.java--- packages/apps/Settings/src/com/android/settings/applications/RamInfo.java (不存在的)packages/apps/Settings/src/com/android/settings/applications/RamInfo.java (版本 10827)-0,0 1,120 package com.android.settings.applications;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.text.format.Formatter; import android.text.format.Formatter.BytesResult; import android.util.Log;import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.applications.ProcStatsData.MemInfo;import java.util.Collections; import java.util.Comparator; import java.util.List;public class RamInfo extends BroadcastReceiver {private static String TAG RamInfo;private PackageManager mPm;Overridepublic void onReceive(Context context, Intent intent) {Log.d(TAG, onReceive: intent.getAction());int index intent.getIntExtra(index, 3); // 0 - 3h, 1 - 6h, 2 - 12h, 3 - 24hmPm context.getPackageManager();ProcStatsData statsManager new ProcStatsData(context, false);statsManager.setDuration(ProcessStatsBase.sDurations[index]);MemInfo memInfo statsManager.getMemInfo();double usedRam memInfo.realUsedRam;double totalRam memInfo.realTotalRam;double freeRam memInfo.realFreeRam;BytesResult usedResult Formatter.formatBytes(context.getResources(), (long) usedRam,Formatter.FLAG_SHORTER);String totalString Formatter.formatShortFileSize(context, (long) totalRam);String freeString Formatter.formatShortFileSize(context, (long) freeRam);CharSequence memString;CharSequence[] memStatesStr context.getResources().getTextArray(R.array.ram_states);int memState statsManager.getMemState();if (memState 0 memState memStatesStr.length - 1) {memString memStatesStr[memState];} else {memString memStatesStr[memStatesStr.length - 1];}String durationString context.getResources().getString(ProcessStatsBase.sDurationLabels[index]);int numApps statsManager.getEntries().size();Log.d(TAG, ********** RAM INFO ( durationString ) **********);// AverageLog.d(TAG, context.getResources().getString(R.string.memory_avg_use) : usedResult.value usedResult.units);// PerformanceLog.d(TAG, context.getResources().getString(R.string.memory_performance) : memString);// Total memoryLog.d(TAG, context.getResources().getString(R.string.total_memory) : totalString);// Average usedLog.d(TAG, context.getResources().getString(R.string.average_used) : (Utils.formatPercentage((long) usedRam, (long) totalRam)));// FreeLog.d(TAG, context.getResources().getString(R.string.free_memory) : freeString);// Memory used by appsLog.d(TAG, context.getResources().getString(R.string.memory_usage_apps) : context.getResources().getQuantityString(R.plurals.memory_usage_apps_summary, numApps, numApps, durationString));boolean mShowMax false;ListProcStatsPackageEntry pkgEntries statsManager.getEntries();// Update everything and get the absolute maximum of memory usage for scaling.for (int i 0, N pkgEntries.size(); i N; i) {ProcStatsPackageEntry pkg pkgEntries.get(i);pkg.updateMetrics();}Collections.sort(pkgEntries, mShowMax ? sMaxPackageEntryCompare : sPackageEntryCompare);for (int i 0; i pkgEntries.size(); i) {ProcStatsPackageEntry pkg pkgEntries.get(i);pkg.retrieveUiData(context, mPm);boolean statsForeground pkg.mRunWeight pkg.mBgWeight;double avgAmount (statsForeground ? pkg.mRunWeight : pkg.mBgWeight) * memInfo.weightToRam;double maxAmount (statsForeground ? pkg.mMaxRunMem : pkg.mMaxBgMem) * memInfo.totalScale * 1024;Log.d(TAG, pkg.mUiLabel ( pkg.mPackage ) { context.getResources().getString(R.string.memory_avg_use) : Formatter.formatShortFileSize(context, (long) avgAmount) context.getResources().getString(R.string.memory_max_use) : Formatter.formatShortFileSize(context, (long) maxAmount) });}Log.d(TAG, ********** RAM INFO END **********);}final static ComparatorProcStatsPackageEntry sPackageEntryComparenew ComparatorProcStatsPackageEntry() {Overridepublic int compare(ProcStatsPackageEntry lhs, ProcStatsPackageEntry rhs) {double rhsWeight Math.max(rhs.mRunWeight, rhs.mBgWeight);double lhsWeight Math.max(lhs.mRunWeight, lhs.mBgWeight);if (lhsWeight rhsWeight) {return 0;}return lhsWeight rhsWeight ? 1 : -1;}};final static ComparatorProcStatsPackageEntry sMaxPackageEntryComparenew ComparatorProcStatsPackageEntry() {Overridepublic int compare(ProcStatsPackageEntry lhs, ProcStatsPackageEntry rhs) {double rhsMax Math.max(rhs.mMaxBgMem, rhs.mMaxRunMem);double lhsMax Math.max(lhs.mMaxBgMem, lhs.mMaxRunMem);if (lhsMax rhsMax) {return 0;}return lhsMax rhsMax ? 1 : -1;}}; } \ No newline at end of file Index: packages/apps/Settings/AndroidManifest.xml--- packages/apps/Settings/AndroidManifest.xml (版本 10810)packages/apps/Settings/AndroidManifest.xml (版本 10827)-3603,5 3603,11 /intent-filter/receiver receiver android:name.applications.RamInfointent-filter action android:namecom.android.settings.action.RAM_INFO //intent-filter/receiver /application/manifest
http://www.dnsts.com.cn/news/195044.html

相关文章:

  • 我想做个网站怎么弄自己制作视频的app
  • 做公益网站需要哪些部门认证温州专业网站制作公司
  • 大连h5网站开发东营公共资源交易网
  • wordpress 企业网站模板网站开发 手机 电脑
  • 网站开发考试题万州网站建设果园路
  • 贵州省建设工程质量检测协会网站东莞常平中学录取分数线2022
  • 襄州区住房和城乡建设局网站网站用什么软件做
  • 网站建设 月嫂 模板凯里网站制作
  • 网站做app开发工具wordpress网站收录
  • 做金属小飞机的网站如何制作网站视频
  • 鹤岗住房和城乡建设局网站女装wordpress
  • 做餐饮培训网站广告网站建设新手教程
  • 网站有做货沈阳有多少网站
  • 社交和门户网站的区别太原竞价托管公司推荐
  • 南京网站建设 ww娱乐网站开发spspwk
  • 一个服务器可以建多少个网站网站建设提供资料表
  • 广州做网络服装的网站网络营销是什么工作
  • 做网站还能挣钱电子商务网站开发技术路线
  • 有哪些网站可以做电子邀请函医院网站建设报价表
  • 创可贴设计网站官网诗歌网站开发意义
  • 网站建设课程的认识企业推广是什么职业
  • 企业网站建立步骤广州公司注册一网通
  • 什么建站程序好收录软件开发步骤流程
  • 国外网站设计的网站北京 做网站
  • 网站建设推广加盟沈阳军成网站建设
  • 深圳网站营销型建设东营市建设项目工伤保险是哪个网站
  • 如何在百度开个网站河南建设监理协会网站电话
  • 郑州专业做淘宝网站推广仿站小工具+wordpress
  • 哪些公司网站建设好做英文版网站
  • 上海网站建设浦东衡水建设企业网站