Google Maps Android API v2 SupportMapFragment wyciek pamięci
Korzystanie z 2 prostych czynności. Pierwsze działanie, w którym znajduje się tylko przycisk, aby rozpocząć 2. aktywność, która zawiera mapę:
Główna aktywność:
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);
}
Aktywność mapy:
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();
}
Układ XML dla aktywności na mapie:
<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"
/>
Teraz, gdy uruchomię ten kod, naciskając przycisk, aby przejść do działania z mapą i naciskając wstecz, aby przejść do pierwszego działania ... a następnie powtarzając proces, widzę, że sterty zwiększają rozmiar za każdym razem, aż osiągnie to ograniczenia, a potem zaczyna się zaciskać. Jeśli będziesz trochę bałaganić mapą (np. Powiększanie), mogę uzyskać wyjątek OOM w tym momencie.
01-25 16: 10: 13.931: D / dalvikvm (21578): GC_FOR_ALLOC uwolniony 1898K, 7% darmowy 45859K / 49187K, wstrzymany 204ms
01-25 16: 10: 14.671: I / dalvikvm-sterty (21578): Ogranicz docelową stertę GC z 52,724 MB do 48 000 MB
01-25 16: 10: 14.671: D / dalvikvm (21578): GC_CONCURRENT uwolniony 2534K, 6% bezpłatny 46554K / 49187K, wstrzymany 3 ms + 14 ms
01-25 16: 10: 15.372: I / dalvikvm-sterty (21578): Ogranicz docelową stertę GC z 52,979 MB do 48 000 MB
01-25 16: 10: 15.382: D / dalvikvm (21578): GC_CONCURRENT uwolniony 2273K, 5% darmowy 46815K / 49187K, wstrzymany 3 ms + 15 ms
01-25 16: 10: 15.622: I / dalvikvm-sterty (21578): Ogranicz docelową stertę GC z 52,604 MB do 48 000 MB
01-25 16: 10: 15.622: D / dalvikvm (21578): GC_FOR_ALLOC uwolniony 657K, 6% bezpłatny 46431K / 49187K, wstrzymany 202ms
01-25 16: 10: 16.203: I / dalvikvm-sterty (21578): Ogranicz docelową stertę GC z 52,959 MB do 48 000 MB
01-25 16: 10: 16.203: D / dalvikvm (21578): GC_FOR_ALLOC uwolniony 1469K, 5% bezpłatny 46796K / 49187K, wstrzymany 217ms
01-25 16: 10: 16.203: I / dalvikvm-heap (21578): Wymuszanie zbierania SoftReferences dla alokacji 278744 bajtów
01-25 16: 10: 16.423: I / dalvikvm-sterty (21578): Ogranicz docelową stertę GC z 52,952 MB do 48 000 MB
01-25 16: 10: 16.423: D / dalvikvm (21578): GC_BEFORE_OOM uwolniony 9K, 5% bezpłatny 46786K / 49187K, wstrzymany 219ms
01-25 16: 10: 16.423: E / dalvikvm-sterty (21578): Brak pamięci przy alokacji 278744 bajtów.
Wszelkie sugestie / pomoc będą mile widziane.