2013-07-06 2 views
1

퍼즐 앱을 만들려고합니다. 그것은 당신이 선택할 수있는 모든 다른 퍼즐의 이미지가있는 스크롤 막대를 가지고 있습니다. 이 비트 맵은 많은 메모리와 케이스를 차지하며 내 안드로이드 스마트 폰에서 시스템이 충돌하지만 내 에이서 태블릿에서는 정상적으로 작동합니다.안드로이드 장치가 얼마나 많은 램을 볼 수있는 방법이 있습니까?

비트 맵 크기를 줄이면 올바르게 작동합니다. 이제 두 개의 서로 다른 크기를 사용하여 사용하고 화면 결과를 사용하여 사용할 크기를 결정합니다. 이것은 지금까지 테스트 한 모든 장치에서 작동하는 것 같습니다. 하지만 큰 해상도의 기기에는 많은 메모리가 없을 수도 있고 앱이 다운 될 수도 있습니다.

장치가 얼마나 많은지 볼 수있는 방법이 있나요? 결과와 ​​메모리를 모두 사용하여 어떤 크기의 비트 맵을 사용할 지 결정할 수 있습니까 ???

+1

관련 문제가 전체 메모리 (/ proc의 어딘가에 표시됨)가 아니라 응용 프로그램을 실행하는 DVM의 힙 크기라고 생각합니다. 여기 –

+0

확인 : http://stackoverflow.com/questions/7374246/android-how-get-total-ram-size-of-device – Kostia

답변

1

디바이스가 얼마나 많은지 볼 수있는 방법이 있습니까? 결과와 ​​메모리를 모두 사용하여 어떤 크기의 비트 맵을 사용할 지 결정할 수 있습니까?

장치 RAM은 중요하지 않습니다. 귀하의 프로세스에 사용 가능한 메모리 문제.

앱의 메모리 클래스를 확인하려면 getMemoryClass() (ActivityManager)에 전화하십시오. 이는 기본적으로 프로세스에 사용 가능한 RAM의 양을 MB 단위로 반환합니다.

+0

그 (기본 할당 포함) 프로세스의 메모리 제한을 제공 할 것이다 또는 DVM 힙 한계 (기본 할당 제외)? –

+0

@ChrisStratton : 이것은 Dalvik VM 힙 제한입니다 (API 레벨 10 이하에서는 비트 맵을 계산합니다 (실제로는 이전 Android 버전의 DVM 힙에는 할당되지 않았 음). 나는 네이티브 할당에 한계가 있다는 것을 알지 못한다. 시스템 RAM 그 자체를 넘어선, 나는 NDK 사람이별로 없기 때문에, 그 시점에서 잘못 기억할지도 모른다. – CommonsWare

관련 문제