SurfaceView setMeasuredDimension()中高度大于4096会导致崩溃问题

3

我在工作中使用了surfaceview。我的要求是在一个垂直的滚动视图中画一条曲线。当我测试时,发现当高度小于4096时,它可以正常工作,但是大于4096(甚至只有4097),就会崩溃!

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    // TODO Auto-generated method stub
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), 4097);
}

有人能告诉我为什么吗?


你能提供一下堆栈跟踪吗? - davidgiga1993
我创建了一个新的SurfaceView,除了设置setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), 4097)之外什么也没做,然后它崩溃了,没有logcat输出,可能它并没有被称为“崩溃”。 - parcool
如果在logcat上没有显示错误,那么它可能没有崩溃。它可能会冻结或类似的情况。 - Bipin Bhandari
1个回答

2

谢谢你的回答,但如果我必须使它的高度超过4096像素,有什么办法吗? - parcool
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - daemmie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接