package com.android.launcher;
import android.graphics.drawable.Drawable;
import android.graphics.PixelFormat;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
class FastBitmapDrawable extends Drawable {
private Bitmap mBitmap;
FastBitmapDrawable(Bitmap b) {
mBitmap = b;
}
@Override
public void draw(Canvas canvas) {
canvas.drawBitmap(mBitmap, 0.0f, 0.0f, null);
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
@Override
public void setAlpha(int alpha) {
}
@Override
public void setColorFilter(ColorFilter cf) {
}
@Override
public int getIntrinsicWidth() {
return mBitmap.getWidth();
}
@Override
public int getIntrinsicHeight() {
return mBitmap.getHeight();
}
@Override
public int getMinimumWidth() {
return mBitmap.getWidth();
}
@Override
public int getMinimumHeight() {
return mBitmap.getHeight();
}
public Bitmap getBitmap() {
return mBitmap;
}
}
1
A
回答
3
将FastBitmapDrawable与Bitmap进行比较并不公平。传统位图只是Java中的一种Object
。但FastBitmapDrawables是一个自定义类,用于扩展Drawable
类的功能,而不是Bitmap
类。
一个FastBitmapDrawable 包含一个传统的位图,并做了一些假设,使它在某些情况下使用方便。这是至关重要的线:
canvas.drawBitmap(mBitmap, 0.0f, 0.0f, null);
这FastBitmapDrawable假设该位图将被放置在(0,0)在屏幕上,而没有特殊的油漆对象将被用于绘制它。
真的这只是一个方便。您可以通过手动将位置设置为(0,0)并将Paint设置为null来获得相同的性能,但这个类会自动为您执行此操作。
+0
早先我从这个角度比较了imageView.setImageBitmap(bitmap);' 'imageView。 setImageDrawable(fastBitmapDrawable);' 随着你的关键线的解释,它真的帮助我了解'FastBitmapDrawable' – bitbybit
0
相关问题
- 1. UnityContainer.Resolve与Activator.CreateInstance相比有哪些优势?
- 2. GeoPtProperty有哪些优势?
- 3. 优势相比WEBGET
- 4. 纯PHP与框架相比的优势
- 5. YSlow与Speed Tracer相比有哪些优点/缺点?
- 6. 与USB相比,USB虚拟COM端口有哪些优缺点?
- 7. ReactNative VS NativeScript:有哪些优势?
- 8. 与CAS(比较和交换)相比,LL/SC有什么优势?
- 9. LePUS3相比UML有什么优势?
- 10. EMR与Spark EC2相比还有什么优势?
- 11. 与PERFORMANCE_SCHEMA相比,Packet Inspection和SHOW FULL PROCESSLIST有何优势?
- 12. 使用sklearn KMeans与SciPy kmeans相比有优势吗?
- 13. 与Ruby相比,在String中使用StringIO有什么优势?
- 14. GMP与MPIR相比有什么优势吗?
- 15. VirtualBox与VMWare Player相比有什么优势吗?
- 16. assert.equal与断言(assert.ok)相比有什么优势?
- 17. 与.NET Cache系统相比,Memcached有什么优势?
- 18. SCTP与无序消息传递相比,有什么优势?
- 19. 与当前的Java EE相比,Spring具有更多优势
- 20. 颠覆与git相比有什么优势?
- 21. WIF提供哪些安全优势?
- 22. 与Sidekiq一起使用ActiveJob与Sidekiq相比的优势
- 23. 与第三方供应商相比,Rails页面缓存有哪些优缺点?
- 24. 学习EF代码优先:与模型相比,有哪些缺点?
- 25. SharePoint Portal Services(SPS)与SharePoint Team Services(STS)相比有哪些优缺点?
- 26. Ruby on Rails比其他Web编程语言有哪些主要优势?
- 27. 从性能角度来看,还有哪些更有优势?
- 28. 的Java:FilterInputStream中有哪些优势和使用相对于其他流
- 29. 在控制器中设置模型值的优势与AngularJS中的模板相比有什么优势?
- 30. Greenplum或Vertica等数据库与MongoDB或Cassandra相比的优势
我认为正确的问题必须是:与BitmapDrawable相比,FastBitmapDrawable有哪些优势? –