[发明专利]一种管理双缓冲技术中线程调用防止内存泄漏的方法在审
申请号: | 202111655133.9 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114327900A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 孔世明 | 申请(专利权)人: | 四川启睿克科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06T1/20;G06T15/00 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 胡慧东 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 缓冲 技术 线程 调用 防止 内存 泄漏 方法 | ||
本发明公开了一种管理双缓冲技术中线程调用防止内存泄漏的方法,本方案基于SurfaceView对预加载媒体流文件通过双缓冲的机制来显示帧图像,当包含SurfaceView子集下的活动页产生渲染事件时,使用HandlerThread对线程资源挂载请求进行performTraversals封装处理。在执行的过程中,请求WindowManagerService服务切换不同线程关联,同时通过一系列的回调函数来让嵌入在窗口里面的SurfaceView对资源管理达到最大限度释放,同时自动回收暴露出来的线程任务。达到解析大型MKV等格式的视频文件或者3D资源时流畅不卡屏以及音画同步的目的。
技术领域
本发明涉及计算机图形图像及基于Android操作系统下图形渲染领域,具体涉及一种管理双缓冲技术中线程调用防止内存泄漏的方法。
背景技术
当今互联网浪潮下,带动了无数PC端与移动端智能应用的产业突飞猛进,其中游戏产业及视频编解码技术的迅速崛起,更是对硬件及软件的渲染算法产生巨大的考验。在影视产业的飞速发展下,基于多音轨多画面混合MKV格式文件的诞生,及3D编码处理技术的成熟,早期MP4等基础流已经无法满足人们的基本视觉需求,如何保证更高效率的完成解码任务成了一个重要课题。而在游戏产业,现如今随着游戏引擎的日新月异与不断升级,开发者利用引擎开发商提供给游戏开发商的SDK开发套件结合自己建立的模型、动画以及画面效果进行呈现时,逐渐暴露出某些系统层管理底层的桥接组件出现严重性能问题,尤其是在手持设备端,基于Android层的音视频解码或者Unity3D游戏产品一方面解决广大视频游戏爱好者的巨大需求,一方面也在应用系统层资源时存在严重渲染机制下的延迟卡顿甚至黑屏、内存不足产生的ANR一系列的优化问题。
发明内容
为了解决上述技术问题,本发明提供了一种管理双缓冲技术中线程调用防止内存泄漏的方法,采用本方法后用户在使用基础配置下运行与设备CPU/GPU性能耗费相当的内存、运存对等的视频解码(比如主流上下左右3D光栅、蓝绿模式MKV视频文件)及基于Unity3D大中型手游作品过程中,不会产生音画不同步及OOM黑屏卡顿解码错误等故障。
为了达到上述技术效果,本发明提供了如下技术方案:
一种管理双缓冲技术中线程调用防止内存泄漏的方法,包括避免双缓冲服务里逐帧分析OOM及基础视频解码内存泄漏两大核心应用场景;
(1)双缓冲机制下逐帧OOM现象管理原生加载区处理过程包括:
①计算和渲染两个过程,CPU先计算出这一帧的图像数据并写入内存,然后调用OpenGL命令将内存中数据渲染成图像存放在GPU Buffer中,显示设备每隔一定时间从Buffer中获取图像并显示;
②自定义View通过重载onMeasure()、onLayout()、onDraw()来定义帧内容及帧刷新频率,将计算帧数据放到独立的线程中进行,并使用自定义SurfaceView的模版关联onCanvas MotionEvent进行重刷;
③使用HandlerThread作为独立帧绘制线程,通过与其绑定的Handler方便地实现“每隔一段时间刷新”,监听SurfaceView被销毁时调用HandlerThread.quit()来结束线程执行的逻辑,并释放宿主Activity位于栈顶TaskList下内存资源占用;
(2)帧索引解析回收帧动画渲染处理过程包括:
①运用DrawRunnable.run()模版方法模式自定义绘制核心算法驱动,并定义成两个抽象方法析构其中帧绘制逻辑的具体实现,供子类super回传当前帧顺序及上下文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川启睿克科技有限公司,未经四川启睿克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111655133.9/2.html,转载请声明来源钻瓜专利网。