关闭时图片无响应的Android片段

时间:2015-11-09 09:53:22

标签: android image android-fragments bitmap

我有一个包含两个片段的活动,一个是图像列表,另一个是View图像片段,应该在单击图像时打开。 对于listview,我根据开发人员的文档使用asynctask来加载背景中的图像,并且它具有良好的响应性。顺便说一下,加载的图像都来自SD卡,不会下载。

这是我在详细信息片段中的onCreateView中的代码。

        // Inflate the layout for this fragment
    v = inflater.inflate(R.layout.fragment_view_image, container, false);
    Log.d("ViewImage",mFilePath);
    ImageView imageView = (ImageView)v.findViewById(R.id.viewImage1);
    Bitmap bitmap = BitmapFactory.decodeFile(mFilePath);
    imageView.setImageBitmap(bitmap);
    Button CloseButton = (Button)v.findViewById(R.id.viewImageCloseButton);
    CloseButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mListener.closeViewImage();
        }
    });

它的工作正常。以下片段的屏幕截图。 screenshot

从活动中调用的closeViewImage()方法是

    public void closeViewImage(){
    if(mViewImageFragment != null){
        mCamFragment = CamFragment.newInstance(" "," ");
        getSupportFragmentManager().
                beginTransaction().
                replace(R.id.container,mCamFragment,"CAM").
                commit();
        mViewImageFragment = null;
    }

}

我面临的问题是,当安装在具有实际快照的设备上时,如我们在快照中看到的那样点击“关闭”按钮,点击非常无响应。它并不完全抛出一个ANR,但有点像关闭片段需要2-3秒。

任何人都可以查看代码并评论我做错了吗?

注意: 当我从列表视图中单击图像时,片段的加载速度足够快。我知道在UI线程中处理位图是必需的并且会这样做,但是在使用位图中的图像关闭片段时必须做些什么呢?

0 个答案:

没有答案