I've already asked this in <a href="http://groups.google.com/group/
android-developers/msg/9cdbf47be2505810?hl=en">This thread</a>: Here
is a pretty simple Gallery setup. It seems to leak with every image
that's loaded (see the original thread for details).
I'm tempted to file it as a bug, but I want to mention it here first
to make sure I'm not just making a simple mistake in my usage of the
Gallery. Also (as mentioned in another thread), convertView is always
null -- the Gallery never seems to recycle any views. Why?
To make this run, you will need to put a JPG file into the data folder
(see code).
package ebomike.memorytest;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
public class MemoryTest extends Activity {
Gallery g;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
String filePath;
// NOTE: Make this point to a JPEG file.
filePath = getFilesDir().getPath();
filePath += "/TEST_IMAGE.jpg";
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
g = (Gallery) findViewById(R.id.Gallery01);
g.setAdapter(new FullImageAdapter(this, filePath));
}
class FullImageAdapter extends BaseAdapter
{
Context context;
String path;
FullImageAdapter(Context c, String path)
{
context = c;
this.path = path;
}
public int getCount()
{
return 1024;
}
public int getViewTypeCount()
{
return 1;
}
public boolean hasStableIds()
{
return true;
}
public int getItemViewType(int position)
{
return 0;
}
public View getView(int position, View convertView, ViewGroup
parent)
{
ImageView view;
if (convertView != null)
{
// Note that we never get here. Why?
view = (ImageView) convertView;
}
else
{
view = new ImageView(context);
}
Bitmap bitmap = BitmapFactory.decodeFile(path);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
view.setImageDrawable(drawable);
return view;
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
}
}
The layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Gallery android:id="@+id/Gallery01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"></Gallery>
</LinearLayout>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---