使用 ViewCacheStuffer 自定义弹幕样式时偶尔出现空指针错误
在 workerthread 中使用 TextView 进行测量时,可能会出现空指针异常,版本为 0.8.3,错误日志如下: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineCount()' on a null object reference at android.widget.TextView.onMeasure(TextView.java:7312) at android.view.View.measure(View.java:18948) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5976) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1486) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1129) at android.widget.LinearLayout.onMeasure(LinearLayout.java:649) at android.view.View.measure(View.java:18948) at master.flame.danmaku.danmaku.model.android.ViewCacheStuffer$ViewHolder.measure(ViewCacheStuffer.java:28) at master.flame.danmaku.danmaku.model.android.ViewCacheStuffer.measure(ViewCacheStuffer.java:85) at master.flame.danmaku.danmaku.model.android.AndroidDisplayer.measure(AndroidDisplayer.java:2526) at master.flame.danmaku.danmaku.model.BaseDanmaku.measure(BaseDanmaku.java:235) at master.flame.danmaku.danmaku.model.R2LDanmaku.measure(R2LDanmaku.java:113) at master.flame.danmaku.controller.CacheManagingDrawTask$CacheManager$CacheHandler.a(CacheManagingDrawTask.java:865) at master.flame.danmaku.controller.CacheManagingDrawTask$CacheManager$CacheHandler.a(CacheManagingDrawTask.java:939) at master.flame.danmaku.controller.CacheManagingDrawTask$CacheManager$CacheHandler.handleMessage(CacheManagingDrawTask.java:550) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:150) at android.os.HandlerThread.run(HandlerThread.java:61)
内容来源: bilibili/DanmakuFlameMaster