Skia

Skia下SK_DEBUG内联的坑

赵裕(vimerzhao)
以下代码可能出现看起来诡异的错误 { auto data = image->encodeToData(); std::stringstream ss; ss << count++ << "_output.png"; if (data) { SkFILEWStream out(ss.str().c_str()); out.write(data->writable_data(), data->size()); } } 错误如下: * thread #3, name = 'RasterThread', stop reason = signal SIGILL: illegal operand * frame #0: 0x000000000c02edd4 Sxxxx`sk_abort_no_print() at SkMemory_malloc.cpp:51:5 frame #1: 0x000000000bbbee39 Sxxxx`SkNVRefCnt<SkData>::~SkNVRefCnt(this=0x00007fffafdff530)::'lambda'()::operator()() const at SkRefCnt.h:165:9 frame #2: 0x000000000bbbec35 Sxxxx`SkNVRefCnt<SkData>::~SkNVRefCnt(this=0x00007fffa8006090) at SkRefCnt.h:165:9 frame #3: 0x000000000bbbd8ba Sxxxx`SkData::~SkData(this=0x00007fffa8006090) at SkData.cpp:37:1 具体是因为这个ASSERT: ~SkNVRefCnt() { #ifdef SK_DEBUG int

Skia升级小记m104->m122

赵裕(vimerzhao)
最近需要把Skia进行一次升级,首先查看下接口变动,See: RELEASE_NOTES.md 大部分都是接口的小调整,基本没什么难度,但注意m122的一个改动: SkFontMgr::RefDefault() has been deleted. Clients should instantiate and manage their own SkFontMgrs and use them to explicitly create SkTypefaces 找到这个改动的原因: Remove default SkFontMgr [305780908] - Skia 是