WorldMap is a simple Android app that displays a map of the world taken from Wikimedia (http://upload.wikimedia.org/wikipedia/commons/3/33/Physical_Political_World_Map.jpg), and allows the user to scroll around on it.
The map itself is quite large (6480,3888), so it's way too big to fit in memory all at once (6480 x 3888 x 32 / 8) = 100,776,960 -- over 96 megs. The VM heap size Android supports is eith 16 or 24 megs, so we can't fit the whole thing in memory at once.
So WorldMap uses the BitmapRegionDecoder API (available as of API 10) to decode just what it needs to display.
WorldMap is open source, and the source code is here:https://github.com/johnnylambada/WorldMapWorldMap это простое приложение для Android, который отображает карту мира взяты из Wikimedia (http://upload.wikimedia.org/wikipedia/commons/3/33/Physical_Political_World_Map.jpg), а также позволяет пользователю прокручивать на нем.
Карта сама по себе довольно большой (6480,3888), так что это слишком большой, чтобы поместиться в памяти все и сразу (6480 х 3888 х 32/8) = 100 776 960 - более 96 мегабайт. VM размер кучи Android опор Eith 16 или 24 мегабайт, поэтому мы не может поместиться Все дело в памяти сразу.
Так WorldMap BitmapRegionDecoder использует API (доступно по состоянию на 10 API) для декодирования только, что это необходимо, чтобы отобразить.
WorldMap с открытым исходным кодом, а также исходный код здесь:https://github.com/johnnylambada/WorldMap