이거 혹시 해결방법 따로 있나요??


Play스토어에 올린 어플이 몇몇 기종에서 자꾸 팅겨서 오류를 보내보니...

java.lang.OutOfMemoryError

이거 뜨는데 해결방법 있나요??

어떤분이 Minimum SDK확인해보라해서

build.gradle들어가보니

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "org.androidtown.minirobot"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 2
        versionName "1.0.2"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0'
}

이렇게 있어서 버전문제는 아닌것 같긴 한데...

첫 어플 다 끝났다 생각했는데 답답하네요 ㅠㅠ


조회수 108


1 답변


Out of memory는 사용할 수 있는 메모리의 한계치를 넘어서는 경우, 발생하는 에러입니다. 그렇기 때문에 minSdkVersion 버전과 직접적인 연관은 없다고 보는 게 적절할 것 같고요.

우선 가장 간단하게 적용해볼 수 있는 방법은 앱이 사용할 수 있는 메모리 용량을 더 많이 확보하는 것입니다. 다음과 같이 AndroidManifest.xml에 largeHeap 옵션을 true로 설정한 후 테스트 해보시기 바랍니다.

<application
    android:largeHeap="true">
</application>

여전히 Out of memory가 발생한다면 작성한 코드 중 메모리를 의도 이상으로 많이 사용하는 곳은 없는지 또는 메모리 릭을 발생시키는 부분은 없는지 디버깅 해보시기 바랍니다. 관련해서는 아래 링크를 참고하세요.

자체적으로 문제를 발견하기 어려운 경우, LeakCanary 라이브러리를 사용해서 코드의 어떤 부분이 메모리 릭을 발생시키는지 알아내는 것도 방법 중 하나입니다.


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close