IllegalArgumentException: Bitmap is too large
означает, что где-то внутри внутреннего кода RIM была попытка создать действительно большой Bitmap
экземпляр.Что такое «действительно большой», знает только RIM - к сожалению, нет четкой документации по этому вопросу.
Таким образом, общее правило, чтобы не попадать в эту проблему, это каким-то образом контролировать / ограничивать размеры экземпляра Bitmap
.Обратите внимание, что для решения этой проблемы вам даже не нужно явно создавать экземпляр Bitmap
, так как в вашем случае достаточно просто создать некоторые другие вещи, которые подразумевают использование Bitmap
.Определенно, когда вы показываете / рисуете / рисуете что-то, тогда используется Bitmap
, даже если вы не создаете его явно.
Из кода, который вы разместили, я подозреваю, что эта строка может вызвать проблему:
basicMapField = new MapField(mainScrollView.getWidth()-6,
(int) (mainScrollView.getHeight()*.90));
Знаете ли вы, какие аргументы фактически передаются конструктору MapField
?Чтобы проверить это предположение, вы можете попробовать это:
int displayWidth = Display.getWidth();
int displayHeight = Display.getHeight();
basicMapField = new MapField(displayWidth / 2, displayHeight / 2);