Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

느릿느릿 프로그래밍

[Android] java.lang.OutOfMemoryError: Failed to allocate a 490166904 byte allocation with 3874212 free bytes and 378MB until OOM 에러 본문

프로그래밍/Android

[Android] java.lang.OutOfMemoryError: Failed to allocate a 490166904 byte allocation with 3874212 free bytes and 378MB until OOM 에러

김슈달 2018. 7. 5. 14:46
반응형

| 문제


java.lang.OutOfMemoryError: Failed to allocate a 490166904 byte allocation with 3874212 free bytes and 378MB until OOM


안드로이드 어플 테스트 중 위와 같은 에러가 났다.

이 어플을 테스트 하는 중에 용량과 사이즈가 큰 사진을 여러장 사용했는데, 그것 때문에 메모리초과 에러가 난 것 같았다.


저 에러가 난 코드 부분은 아래와 같았다.


1
Drawable drawable = getResources().getDrawable(R.drawable.cat1);
cs

사진의 크기가 상당히 크긴 했지만, 저 사진을 그대로 쓰고 싶어서 코드로 해결하는 방법을 찾아보았다.


| 해결


1. AndroidManifest.xml에 코드 추가


1
2
3
4
5
6
7
8
9
10
    <application
        android:name=".GlobalApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
cs

이 부분에 다음 두 줄을 추가한다.

1
2
android:hardwareAccelerated="false"
android:largeHeap="true"
cs

2. 이미지 크기 줄이기

그러나 해결되지 않아서 아래 사이트에서 사진 크기를 줄이고 다시 빌드했더니 성공적으로 빌드되었다.
안드로이드에서 고화질의 사진은 어떻게 다뤄야하는지를 공부해야겠다.


https://www.iloveimg.com/ko/resize-image/resize-png

반응형
Comments