在片段,android工作室加载图像

时间:2017-02-12 11:57:32

标签: java android android-fragments crash

我是Android开发人员的初学者,我想为我的任务构建一个模型应用程序。我能够对应用程序进行编程并使其正常工作,但是当我在手机上安装它时,每次我想要加载新的部分/片段时都会崩溃。

我的结论是崩溃是由于过度使用可绘制文件夹中的图像,导致由于资源需求过高导致崩溃。所以我需要使用assets文件夹加载图片。

但到目前为止,我还没有找到一种方法从fragment上的assets文件夹加载图像。 findViewById,inputstream ,都导致了未知的方法错误。

任何人的帮助都会很高兴。

可以在此处找到源代码和APK: https://drive.google.com/drive/folders/0B1_AQxgFWCzuT0Vxdkx0cmxQMG8?usp=sharing

1 个答案:

答案 0 :(得分:0)

如果您要将大图像加载到ImageViews中,则应该使用图像加载库。我建议Glide:https://github.com/bumptech/glide(有关于如何在项目中包含Glide以及如何在Github页面上使用它的说明。)

以这种方式加载图像应该可以解决性能不佳的问题,但是在项目中存储大量高分辨率图像时也要小心,因为它会大大增加应用程序的大小。

为了在片段中使用 findViewById ,你应该像这样使用 onCreateView 方法(我在我的例子中使用了ImageView):

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.your_layout, container, false);

    ImageView imageView = (ImageView) view.findViewById(R.id.image_view); 

    return view;
}

据我所知,在drawable文件夹上使用assets文件夹没有任何好处。