簡體   English   中英

Android Wear 2.0內存泄漏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM