새로 도입 된 Display size
OS 설정이 너무 큰 값으로 설정된 경우 Android N에서 시작시 충돌하는 게시 된 앱이 있습니다.
logcat을 보면 다음 메시지가 표시됩니다.
java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
나는 첫 번째 활동에서 멋진 큰 배경 이미지를 보여주는 ImageView로 문제를 추적했습니다. 문제의 이미지는 2048x1066이고 내 일반 drawables
디렉토리에 있으므로 밀도에 관계없이이 이미지가 사용됩니다.
Display size
설정이 이면 모든 것이 정상적으로 작동합니다 Small
. 하지만로 올라가면 Default
작동이 중지됩니다. 그런 다음 이미지를 더 작은 이미지로 교체하면에서 작동 Default
하지만으로 올라가면 Large
다시 작동하지 않습니다.
내 생각 엔 조정 Display size
하면 장치가 픽셀 밀도가 높은 물리적으로 더 작은 장치처럼 작동합니다. 하지만 여기서 뭘해야하는지 이해가 안 돼요. 점진적으로 더 높은 해상도를 위해 점진적으로 더 작은 이미지를 넣으면 실제로 큰 디스플레이에서는 좋지 않습니다. 아니면 내가 뭔가를 이해하지 못하고 있습니까?
어떤 포인터라도 대단히 감사하겠습니다.
res/drawable/
는res/drawable-mdpi/
. 밀도에 따라 이미지 크기를 조정하지 않으 려면res/drawable-nodpi/
또는을 사용하십시오res/drawable-anydpi/
.