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有哪些優勢? –