티스토리 뷰
문제: 특정 단말기에서 고해상도의 Bitmap을 ImageView에 설정하면 보이지 않는 현상.
원인:
로그캣에 아래와 같은 로그를 발견할 수 있다...
설정하려는 비트맵의 크기가 텍스쳐에 업로드할 수 있는것에 비해 너무 크다는 이야기..
W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (4160x2340, max=4096x4096)
다시말해 안드로이드의 하드웨어 가속 시 기본적으로 GL_MAX_TEXTURE_SIZE 만큼만 rendering을 할 수 있기 때문에 이 사이즈를 넘어가는 비트맵은 정상적으로 처리가 되지 않는다.
이다.
대책:
1. 하드웨어 가속끄기
수정방법: AndroidManifest.xml 에서 해당 Activity의 속성에 아래 값을 추가.
android:hardwareAccelerated="false"
하드웨어 가속을 사용해야 하는 경우라면 2번으로 수정한다.
2. 비트맵리사이징.
리사이징 메소드 만들어 봤다..
Bitmap resizeBitmap(Bitmap bitmap)
{
if(bitmap.getWidth() > GLES30.GL_MAX_TEXTURE_SIZE ||
bitmap.getHeight()> GLES30.GL_MAX_TEXTURE_SIZE)
{
float aspect_ratio = ((float)bitmap.getHeight())/((float)bitmap.getWidth());
int resizedWidth = (int)(GLES30.GL_MAX_TEXTURE_SIZE*0.9);
int resizedHeight = (int)(GLES30.GL_MAX_TEXTURE_SIZE*0.9*aspect_ratio);
return bitmap.createScaledBitmap(bitmap, resizedWidth, resizedHeight, false);
}
return bitmap;
}
그래픽 라이브러리의 버전은 아래 사이트에서 확인가능합니다.
https://developer.android.com/guide/topics/graphics/opengl.html
'안드로이드' 카테고리의 다른 글
안드로이드스튜디오 - AVD HAXM오류 수정 (0) | 2018.10.13 |
---|---|
안드로이드 오레오버전(8.0) Notification(알림) 오류 (1) | 2018.09.17 |
[안드로이드 스튜디오]MultiDexApplication사용하기 / The number of method references in a .dex file cannot exceed 64K. (0) | 2017.05.12 |
[안드로이드스튜디오]Cannot Resolve Symbol 'R' 오류 수정하기. (0) | 2017.05.11 |
안드로이드 스튜디오 설정 오류 (0) | 2017.05.10 |
- Total
- Today
- Yesterday
- sdcard에 파일 업로드
- SDK설치오류
- C++ 프로그램 개발 툴
- Virtualization Technology
- 안드로이드 설치경로변경
- 안드로이드 환경변수 설정하기
- 한글폴더이름 오류
- 자바
- DateBbase에러
- C드라이브 용량 절약하기
- 한글폴더오류
- AVD
- 비주얼 스튜디오 코드에서 html파일 실행하기
- 안드로이드설치오류
- 비주얼 스튜디오 코드 설치하기 #visual studio code설치하기
- Device File Explorer
- 바이오스 설정변경
- Aapt2 오류
- gradle경로변경
- DateBbase 오류
- jsp
- gradle경로 변경하기
- JSP 데이터베이스 연동 시 에러
- VSCode #php디버깅 #Xdebug설정 #Visual Studio Code 디버깅
- Adnroid관련 폴더를 D드라이브로 변경하기
- 안드로이드 가상기기
- 한글폴더 오류 수정하기
- 안드로이드 스튜디오 3.2.1
- avd경로 변경하기
- workbench #EER Diagram #한글깨짐 #한글오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |