iOS crash 反馈
Open
@kevingpqi123 is already working on this.
Since Jan 19, 2024.
- Dominant language
- HTML
- Stars
- 5.8k
- Forks
- 531
- Avg merge
- 8d 55m
- Merged PRs (30d)
- 17
Description
【版本信息】
4.2.100
【平台信息】
iOS 原生
【预期的表现】
目前我们收集到两类 crash 堆栈,iOS 15、16、17 等都有上报
堆栈1
void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(tgfx::TaskGroup*), tgfx::TaskGroup*>>(void*) (in libpag) (thread:303)
tgfx::TaskGroup::RunLoop(tgfx::TaskGroup*) (in libpag) (TaskGroup.cpp:57)
tgfx::Task::execute() (in libpag) (Task.cpp:92)
std::__1::__function::__func<tgfx::ImageGeneratorTask::ImageGeneratorTask(std::__1::shared_ptr<tgfx::ImageGenerator>, bool)::$_0, std::__1::allocator<tgfx::ImageGeneratorTask::ImageGeneratorTask(std::__1::shared_ptr<tgfx::ImageGenerator>, bool)::$_0>, void ()>::operator()() (in libpag) (function.h:359)
pag::SequenceReader::readBuffer(long long) (in libpag) (SequenceReader.cpp:29)
pag::VideoReader::onMakeBuffer(long long) (in libpag) (VideoReader.cpp:60)
pag::VideoReader::decodeFrame(long long) (in libpag) (VideoReader.cpp:140)
pag::HardwareDecoder::onDecodeFrame() (in libpag) (HardwareDecoder.mm:0)
堆栈2
pag::PAGSurface::freeCache() (in libpag) (PAGSurface.cpp:56)
pag::PAGSurface::onFreeCache() (in libpag) (PAGSurface.cpp:63)
pag::RenderCache::releaseAll() (in libpag) (RenderCache.cpp:0)
pag::RenderCache::clearAllSequenceCaches() (in libpag) (RenderCache.cpp:597)
std::__1::shared_ptr<pag::SequenceReader>::~shared_ptr[abi:v15006]() (in libpag) (shared_ptr.h:702)
pag::VideoReader::~VideoReader() (in libpag) (VideoReader.cpp:43)
pag::VideoReader::destroyVideoDecoder() (in libpag) (VideoReader.cpp:174)
pag::HardwareDecoder::~HardwareDecoder() (in libpag) (HardwareDecoder.mm:32)
pag::HardwareDecoder::~HardwareDecoder() (in libpag) (HardwareDecoder.mm:35)
我们 APP 的堆栈还出现了 handlerMemoryWarning,我们在收到 OOM 后会调用 SDK freeCache 方法
- 请问这样使用是否有问题?
- 是否有需要先调用
stop再调用freeCache?
@objc private func handlerMemoryWarning() {
// 收到 OOM
freeCache()
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.