我创建了一个简单的服务示例。当我启动该服务时,它使用 6.6MB 或更多。一段时间后,它会自动增加。我检查了this链接但没找到解决方法。如何确认RAM使用量增加了多少?
服务类
public class MyTestService extends Service {
public MyTestService() {
}
@Override
public void onCreate() {
super.onCreate();
Log.e("MyTestService", "onCreate");
}
@Override
public void onLowMemory() {
super.onLowMemory();
Log.e("MyTestService", "onLowMemory");
}
@Override
public IBinder onBind(Intent intent) {
Log.e("MyTestService", "onBind");
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("MyTestService", "onStartCommand");
return START_NOT_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Log.e("MyTestService", "onDestroy");
}
}
活动类我只在这里开始&停止服务
1。 OnStartService
startService(new Intent(this, MyTestService.class));
2。 OnStopService
stopService(new Intent(this, MyTestService.class));
最佳文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sample.service">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".ServiceCheckActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".MyTestService"
android:enabled="true"
android:exported="true"></service>
</application>
答案 0 :(得分:1)
内存使用率通常会因为延迟对象而增加,这些对象尚未收集垃圾,导致ddms中的锯齿状图。 Android管理服务的生命周期,所以如果它是空的,也许你不应该担心它。为避免考虑使用“Flyweight”设计模式,如果需要创建大量临时对象。