我刚刚开始进行Android编程。
所以我在网上播放了一个示例视频,显示了滑动视图。我学会了这些概念并在手机上测试了程序;工作正常。
该程序使用ViewPager和FragmentPagerAdapter在每个片段之间切换。
所以我扩展了片段代码(只显示了一个纯色的空白片段),以显示图像:
public class Frag1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.frag1_layout, container, false);
ImageView imgView = (ImageView) rootView.findViewById(R.id.imageView1);
imgView.setImageResource(R.drawable.causeway1);
return rootView;
}
}
我收到消息"不幸的是mytestapp已停止"当我在手机上调试应用程序时。
我在PC上部署模拟器并没有成功,因此我必须使用手机(三星Galaxy note 3)。
来自logcat的错误表示java.lang.OutOfMemoryError,表示setImageResource行。图像大小为906kb。这太大了吗?
Android平台上有哪些内存限制 - 有什么方法可以要求更多,或者我应该尝试将我的图像重新采样到更小的尺寸?
答案 0 :(得分:1)
我删除了使用其中一个较小的位置以906k创建位图的调用,并且我的应用程序正常工作。
我在logcat输出中发现了以下内容,我怀疑这可能是罪魁祸首:
Bitmap too large to be uploaded into a texture (5760x3240, max=4096x4096)