Font size too large to fit in cache

前端 未结 3 829
醉话见心
醉话见心 2020-11-28 11:24

So i recently switched to android 3.0 (honeycomb) and i\'m having some issues with hardware rendering, specifically at a certain custom view i\'ve written where I use a font

相关标签:
3条回答
  • 2020-11-28 11:44

    It is really a bug in the Android OS inside the Hardware Acceleration modules. I think that the best way is to ask the system to avoid HW acceleration on TextViews that contain large size text. To do so, just add in the code:

    TextView bigText = (TextView) findViewById(R.id.bigtext);
    bigText.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    
    0 讨论(0)
  • 2020-11-28 11:53

    Just an idea: Perhaps you can convert the font to an outline using Paint.getTextPath(...) and use this path to render the text. This should allow you to resize the path as needed.

    0 讨论(0)
  • 2020-11-28 12:02

    The setLayerType method is useful, but unfortunately it is supported just for API >= 11. Developing for API = 8 or less it will become unusable.

    If you can, a simple solution is disabling the hardware acceleration just for the activity that is giving you problems. I had this very problem and solved it this way:

    <application
        android:...
        android:hardwareAccelerated="true" >
        <activity ...>
            ...
        </activity>
    
        <activity
            ...
            android:hardwareAccelerated="false">
            ...
        </activity>
    </application>
    

    This solution will disable the hardware acceleration just for the activities where you do not need it and where you aren't able to display large texts.

    0 讨论(0)
提交回复
热议问题