Kir*_*ill 4 android bitmap xamarin
我使用位图和画布创建第一个图表.如何清除位图以绘制新图表?
ImageView imageView = new ImageView(this);
Bitmap bitmap = Bitmap.CreateBitmap(w, h, Bitmap.Config.Argb8888);
Canvas canvas = new Canvas(bitmap);
...
imageView.SetImageBitmap(bitmap);
relativeLayout.AddView(imageView);
Run Code Online (Sandbox Code Playgroud)
Jib*_*haᴎ 24
您可以使用eraseColor
位图将其颜色设置为透明.它可以再次使用而无需重新创建它.
bitmap.eraseColor(Color.TRANSPARENT);
Run Code Online (Sandbox Code Playgroud)
进一步阅读这里
ImageView imageView = new ImageView(this);
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
// Your Other code
imageView.setImageBitmap(bitmap);
relativeLayout.AddView(imageView);
Run Code Online (Sandbox Code Playgroud)
现在通过以下代码释放位图的内存
bitmap.recycle();
Run Code Online (Sandbox Code Playgroud)
帮助的再循环()方法的位图按此。
API 1级中添加的public void recycle()释放与此位图关联的本机对象,并清除对像素数据的引用。这将不会同步释放像素数据。如果没有其他引用,它只是允许对其进行垃圾收集。该位图被标记为“死”,这意味着如果调用getPixels()或setPixels()它将抛出异常,并且不会绘制任何内容。此操作不能撤消,因此只有在您确定该位图没有其他用途时,才应调用它。这是一个高级调用,通常不需要调用,因为当不再有对该位图的引用时,正常的GC进程将释放此内存。
归档时间: |
|
查看次数: |
14075 次 |
最近记录: |