【问题标题】:TextView Too Large to Fit into Software LayerTextView 太大而无法放入软件层
【发布时间】:2015-11-01 23:38:11
【问题描述】:

我有一个 TextView 嵌套在 ScrollView 中。 TextView 的内容取决于用户,可能很长。当我设置“足够大”的文本大小(30sp)时,视图会从屏幕上消失,并且出现以下错误:

AppCompatTextView not displayed because it is too large to fit into a software layer (or drawing cache), needs 9131520 bytes, only 8294400 available

在动画期间,文本再次变得可见。我怀疑这是由于动画期间启动的硬件加速造成的。当我通过setLayerType(View.LAYER_TYPE_SOFTWARE, null) 停用加速时,视图在动画期间保持不可见。

有没有办法强制 Android 允许对每一帧进行硬件加速,而不仅仅是在动画期间?或者这会花费太多能量吗?

【问题讨论】:

    标签: android android-layout memory-management textview


    【解决方案1】:

    请您尝试在 Androidmanifest.xml 中添加

    <application android:hardwareAccelerated="true">
        <activity name="first activity name"/>
        <activity name="second activity name"/>
        <activity name="third activity" android:hardwareAccelarated="false"/>
    </application>
    

    【讨论】:

    • 如果您不期望流畅的动画效果,这将有效。动画适用于TextViews,文本较少。不幸的是,对于有问题的TextView,他们没有。此外,所有视图的阴影都消失了。我想我必须限制字体大小。
    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2016-02-08
    • 2014-10-11
    • 1970-01-01
    相关资源
    最近更新 更多