我想实现到consecutivly从火力存储下载的图片转换成ImageView的Android应用中。 到目前为止,我成功了,但结果或多或少都很糟糕,因为更新图像会导致闪烁,即两张图像之间出现空白图像。安卓滑翔和火力地堡贮存:负荷火力地堡存储连续图像来的ImageView - 闪烁
我存储在节点“状态/ recentPicture”一个火力点实时数据库的最新图片路径。每次更新时,我都会通过ValueEventListener在Android应用中获取它,然后通过滑动更新图像视图。图片的帧率是每秒3帧。 我的代码lookes这样的: FirebaseImageLoader from FirebaseUI
我想,也许我需要在启动的过程之前缓冲多张图片:
mFirebaseDatabase.child("state").child("recentPicture").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("Picture Update:",dataSnapshot.toString());
String imgPath = dataSnapshot.getValue(String.class);
mStorageRef = FirebaseStorage.getInstance().getReference().child(imgPath);
Glide.with(getContext())
.using(new FirebaseImageLoader())
.load(mStorageRef)
.fitCenter()
.crossFade()
.into(mImageView);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
的图像加载类是直接从firebaseUI GitHub的页面复制把它们放到我的imageview中。
有没有人更好的建议。从长远来看,我想通过静止图像来“模拟视频流”。图像或多或少都是实时图像。也许整个使用Firebase数据库和Firebase存储的方法都是错误的。如果你有更好的建议,我会很高兴听到他们。
正如我想补充,该ImageView的驻留在片段上的附加信息。我也已经尝试省略crossfade函数,并且还使用了dontAnimate()和dontTransform(),但都没有显示出任何改进。