Niestandardowy znacznik mapy Google poza błędem pamięci (API V2)

Używam następującego kodu, aby ustawić znacznik z własnym obrazem użytkownika w jego galerii. Ale cały czas tracę pamięć, więc myślę, że moja implementacja jest błędna. Innym interesującym zachowaniem, które znalazłem, jest to, że jeśli znacznik nie znajduje się w widoku, błąd nie występuje natychmiast. Ale gdy przestawię kamerę na miejsce, w którym znajduje się ten znacznik, ponownie pojawia się błąd. (Krótko mówiąc, nigdy nie widzę mojego obrazu)

Kody, których używam:

//on button click, send user to gallery to choose image he/she wants to use
changeAvatarButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent i = new Intent(
                    Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(i, 1);
        }
    });


//use the selected image for marker icon
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };
        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);

        cursor.close();

        // BitmapDescriptorFactory
        myIcon.setIcon(BitmapDescriptorFactory
                .fromPath(picturePath));

    }
}

błąd logcat: E / dalvikvm-sterty (5809): Brak pamięci przy alokacji 16777232-bajtów.

Podczas debugowania zmieniam picturePath na znaną ścieżkę, taką jak „/mnt/sdcard/DCIM/Camera/IMG_20121214.jpg”, ale błąd jest taki sam.

Z góry dziękuję :)

questionAnswers(2)

yourAnswerToTheQuestion