Используя 2 простых действия. Первое действие, которое содержит только кнопку для запуска второго действия, содержащего карту:
Основная деятельность:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void goToMap(View view){ //This is just the onClick method for the button
Intent intent=new Intent( this, BigMapTest.class);
startActivity(intent);
}
Активность карты:
public class BigMapTest extends FragmentActivity {
SupportMapFragment mapFragment;
GoogleMap map;
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.travel_diary_big_map);
mapFragment=(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.big_map);
map=mapFragment.getMap();
}
XML-макет для действия карты:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/big_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment"
/>
Now when I run this code, pressing the button to move to the Activity with the map, and pressing back to get to the first activity...then repeating the process, I can see the heap increasing in size each time, until it reaches it's limits and then it starts clamping. If you mess around a bit more with map(i.e. zooming) I can get an OOM Exception at this point.
01-25 16:10:13.931: D/dalvikvm(21578): GC_FOR_ALLOC освобождено 1898 КБ, 7% свободно 45859 КБ/49187 КБ, приостановлено на 204 мс
01-25 16:10:14.671: I/dalvikvm-heap(21578) : Ограничить целевую кучу сборщика мусора с 52,724 МБ до 48,000 МБ
01-25 16:10:14.671: D/dalvikvm(21578): GC_CONCURRENT освободил 2534 КБ, 6 % свободно 46554 КБ/49187 КБ, пауза 3 мс+14 мс
01–25 16:10:15.372: I/dalvikvm-heap(21578): ограничение целевой кучи GC с 52,979 МБ до 48 000 МБ
01–25 16:10:15.382: D/dalvikvm(21578): GC_CONCURRENT освобожден 2273K, 5 % свободно 46815K/49187K, пауза 3 мс+15 мс
01–25 16:10:15.622: I/dalvikvm-heap(21578): ограничение целевой кучи GC с 52,604 МБ до 48,000 МБ
01 -25 16:10:15.622: D/dalvikvm(21578): GC_FOR_ALLOC освободил 657K, 6% освободил 46431K/49187K, приостановил 202ms
01-25 16:10:16.203: I/dalvikvm-heap(21578): Ограничить целевой объем кучи GC с 52,959 МБ до 48 000 МБ
01–25 16:10:16.203: D/dalvikvm(21578): GC_FOR_ALLOC освободил 1 469 КБ, 5 % освободил 46 796 К/49 187 К, приостановил 217 мс
01–25 16:10:16.203: I/dalvikvm-heap(21578): Принудительный сбор n из SoftReferences для распределения 278744 байта
01-25 16:10:16.423: I/dalvikvm-heap(21578): ограничение целевой кучи GC с 52,952 МБ до 48,000 МБ
01-25 16:10 :16.423: D/dalvikvm(21578): GC_BEFORE_OOM освобождено 9 КБ, 5 % свободно 46786 КБ/49187 КБ, пауза 219 мс
01–25 16:10:16.423: E/dalvikvm-heap(21578): Недостаточно памяти на Выделение 278744 байт.
Любые предложения/помощь будут оценены.