[英]Android Wear 2.0 Memory Leak
我在Android Studio中創建了一個空白的Android Wear 2.0獨立應用程序項目 。 我注意到,當我在手表上運行空白應用程序時,似乎存在內存泄漏(如下所示)。 還有其他人遇到這個問題嗎?
我正在測試的設備是運行Android Wear 2.0的LG Watch Style
這是一個空白項目,代碼如下:
MainActivity.java
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
public class MainActivity extends WearableActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mc.memorytester">
<uses-feature android:name="android.hardware.type.watch"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@android:style/Theme.DeviceDefault">
<uses-library
android:name="com.google.android.wearable"
android:required="false"/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault.Light">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.mc.memorytester"
minSdkVersion 25
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:2.0.3'
compile 'com.google.android.gms:play-services-wearable:11.0.4'
provided 'com.google.android.wearable:wearable:2.0.3'
}
這看起來不像是內存泄漏。 如果實際上是在泄漏,則使用的內存總量將隨着時間的推移而不斷增加,並最終導致非常緩慢的體驗和/或OutOfMemoryException
。 您在此處看到的是創建對象的周期,然后是垃圾回收。
您仍然可以采取一些措施來改善此問題,因為頻繁的垃圾收集可能會導致打ic /滯后。
我的建議是看一下經常執行的方法( onDraw()
和類似的東西),並確保您未在其中創建對象。 如果這樣做沒有幫助,您可以使用Android Profiler進行更深入的了解,找出正在創建的內容(有關操作方法的詳細信息,例如,可以在此處 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.