Android 位图SAMEA是如何工作的?

Android 位图SAMEA是如何工作的?,android,image-processing,bitmap,Android,Image Processing,Bitmap,Bitmap(来自android.graphics)具有sameAs方法。 给定另一个位图,如果它的尺寸、配置和像素数据与此位图相同,则返回true。 我想知道它在引擎盖下是怎么工作的?覆盖它(可能使用一些直方图方法或关键点匹配)有意义吗?基本上是这样的 if(bmp1.height==bmp2.height && bmp1.width==bmp2.width) { for(int i=0; i< bmp1.width; i++){ for(int j=0; j

Bitmap
(来自android.graphics)具有
sameAs
方法。 给定另一个位图,如果它的尺寸、配置和像素数据与此位图相同,则返回true。 我想知道它在引擎盖下是怎么工作的?覆盖它(可能使用一些直方图方法或关键点匹配)有意义吗?

基本上是这样的

if(bmp1.height==bmp2.height && bmp1.width==bmp2.width) {
  for(int i=0; i< bmp1.width; i++){
    for(int j=0; j< bmp1.height; j++){
      if(bmp1.getPixel(i,j) != bmp2.getPixel(i,j)) {
        return false;
      }
    }
  }
  return true;
}
return false;
if(bmp1.height==bmp2.height&&bmp1.width==bmp2.width){
对于(int i=0;i
但它将使用像memcmp这样的低级内存比较函数,而不是像那样实际循环

至于覆盖它有意义吗?不太有意义。如果其他人认为函数按原样工作,你会把他们搞砸的。创建自己的函数sameKeyPoint来进行关键点匹配可能是有意义的