当前位置: 首页 > news >正文

做网站都有哪些费用佛山关键词优化服务

做网站都有哪些费用,佛山关键词优化服务,平面设计主要做什么ui,专业网站定制流程“ BufferQueue作为连接生产者和消费者的桥梁#xff0c;时刻掌握队列中每一块Buffer的状态#xff0c;对于解决一些卡死卡顿问题很有帮助#xff0c;辨别是否有生产者或消费者长期持有大量Buffer不放导致运行不畅的情况。” 01 — 前言 在Android系统中#xff0c;应用U…“ BufferQueue作为连接生产者和消费者的桥梁时刻掌握队列中每一块Buffer的状态对于解决一些卡死卡顿问题很有帮助辨别是否有生产者或消费者长期持有大量Buffer不放导致运行不畅的情况。” 01 — 前言 在Android系统中应用UI的显示、播放器解码后画面的显示、Camera预览画面的显示最终都是要送到Graphics系统的流程完成最终的合成送显所以在出现画面卡顿卡死问题时Graphics系统往往成为背锅侠。 因此我们要学会如何快速精准地理清问题(“甩锅”)。 最近遇到一些播放相关的问题 player的小伙伴认为是decode时dequeue不出新的buffer导致解码流程卡住 graphics的小伙伴认为是decoder长期持有大量的buffer导致显示合成卡住 那有没有办法可以实时监测下当前BufferQueue的状态呢我简单研究了下有点发现但未必完美在此分享下供大家讨论 建议小伙伴们先阅读下早前BufferQueue的讲解文章 Android Graphics 显示系统 - BufferQueue的工作流程十二 Android Graphics 显示系统 - BufferQueue的工作流程十三 Android Graphics 显示系统 - BufferQueue的工作流程十四 Android Graphics 显示系统 - BufferQueue的工作流程十五 在正常的显示流程中每一块buffer的状态会进行转换 FREE - DEQUEUED - QUEUED - ACQUIRED - FREE 监测下当前BufferQueue的状态目标就是获取当下队列中分配了多少了块Buffer以及每一块Buffer所处的状态是什么 02 — 演示效果 使用原生gallery3d app播放视频时抓到的BufferQueue的状态信息 06-22 10:14:04.297  3400  3427 E BufferQueue: State: [SurfaceView[com.android.gallery3d/com.android.gallery3d.app.MovieActivity]#11(BLAST Consumer)11] 06-22 10:14:04.297  3400  3427 E BufferQueue: - BufferQueue mMaxAcquiredBufferCount1 mMaxDequeuedBufferCount15 06-22 10:14:04.297  3400  3427 E BufferQueue:   mDequeueBufferCannotBlock0 mAsyncMode0 06-22 10:14:04.297  3400  3427 E BufferQueue:   mQueueBufferCanDrop0 mLegacyBufferDrop1 06-22 10:14:04.297  3400  3427 E BufferQueue:   default-size[720x1280] default-format4   transform-hint00 frame-counter84 06-22 10:14:04.297  3400  3427 E BufferQueue:   mTransformHintInUse00 mAutoPrerotation0 06-22 10:14:04.297  3400  3427 E BufferQueue: FIFO(1): 06-22 10:14:04.297  3400  3427 E BufferQueue: (mConsumerNameSurfaceView[com.android.gallery3d/com.android.gallery3d.app.MovieActivity]#11(BLAST Consumer)11, mConnectedApi3, mConsumerUsageBits2304, mIdd480000000b, producer[532:???], consumer[3400:com.android.gallery3d]) 06-22 10:14:04.297  3400  3427 E BufferQueue:   15:0x7756e78afd10 crop[0,0,720,1280] xform0x00 time1049.6518 scaleSCALE_TO_WINDOW 06-22 10:14:04.297  3400  3427 E BufferQueue: Slots: 06-22 10:14:04.297  3400  3427 E BufferQueue:   [00:0x7756e78ad490] stateDEQUEUED 0x7756278c19d0 frame75 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [01:0x7756e78c2190] stateDEQUEUED 0x7756278d0230 frame71 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [02:0x7756e78bf010] stateDEQUEUED 0x7756278c5de0 frame74 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [03:0x7756e78c2df0] stateDEQUEUED 0x7756278c4680 frame80 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [04:0x7756e78b0df0] stateDEQUEUED 0x7756278d02e0 frame70 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [05:0x7756e78c4e90] stateDEQUEUED 0x7756278cf310 frame72 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [06:0x7756e78b82f0] stateDEQUEUED 0x7756278d7030 frame73 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [07:0x7756e78c10b0] stateDEQUEUED 0x7756278d6e20 frame76 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [08:0x7756e78c7950] stateDEQUEUED 0x7756278cfcb0 frame77 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [09:0x7756e78c61b0] stateDEQUEUED 0x7756278d4f30 frame78 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [10:0x7756e78bf910] stateDEQUEUED 0x7756278d5980 frame79 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:  [11:0x7756e78af890] stateACQUIRED 0x7756278c6570 frame81 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [13:0x7756e78b7d50] stateDEQUEUED 0x7756278c94e0 frame67 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:  [14:0x7756e78c22b0] stateACQUIRED 0x7756278c54f0 frame83 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [15:0x7756e78afd10] stateQUEUED   0x7756278c9590 frame84 [ 768x1280: 768,32315659] 06-22 10:14:04.297  3400  3427 E BufferQueue:   [12:0x7756e78ad370] stateFREE     0x7756278d7b30 frame82 [ 768x1280: 768,32315659]可以看到 一共分配了16块buffer 2块buffer处于ACQUIRED状态说明已被消费者拿去准备合成显示了 1块buffer处于QUEUED状态说明生产者已经queueBuffer返还了 1块buffer处于FREE状态 12块buffer处于DEQUEUED状态说明生产者dequeueBuffer准备填充数据 还可以看到每一块buffer的width/height/stride/format  framexx代表了该buffer被queueBuffer的顺序即为BufferSlot中的     // mFrameNumber is the number of the queued frame for this slot.  This// is used to dequeue buffers in LRU order (useful because buffers// may be released before their release fence is signaled).uint64_t mFrameNumber;另外还有BufferQueue的配置信息 使用原生gallery3d app展示图片时抓到的BufferQueue的状态信息 06-22 11:24:40.224  3400  9472 E BufferQueue: State: [SurfaceView[com.android.gallery3d/com.android.gallery3d.app.GalleryActivity]#29(BLAST Consumer)29] 06-22 11:24:40.224  3400  9472 E BufferQueue: - BufferQueue mMaxAcquiredBufferCount1 mMaxDequeuedBufferCount2 06-22 11:24:40.224  3400  9472 E BufferQueue:   mDequeueBufferCannotBlock0 mAsyncMode0 06-22 11:24:40.224  3400  9472 E BufferQueue:   mQueueBufferCanDrop0 mLegacyBufferDrop1 06-22 11:24:40.224  3400  9472 E BufferQueue:   default-size[1080x1776] default-format3   transform-hint00 frame-counter414 06-22 11:24:40.224  3400  9472 E BufferQueue:   mTransformHintInUse00 mAutoPrerotation0 06-22 11:24:40.224  3400  9472 E BufferQueue: FIFO(1): 06-22 11:24:40.224  3400  9472 E BufferQueue: (mConsumerNameSurfaceView[com.android.gallery3d/com.android.gallery3d.app.GalleryActivity]#29(BLAST Consumer)29, mConnectedApi1, mConsumerUsageBits2304, mIdd480000001d, producer[3400:com.android.gallery3d], consumer[3400:com.android.gallery3d]) 06-22 11:24:40.224  3400  9472 E BufferQueue:   02:0x7756e78c73b0 crop[0,0,0,0] xform0x00 time5285.5555 scaleSCALE_TO_WINDOW 06-22 11:24:40.224  3400  9472 E BufferQueue: Slots: 06-22 11:24:40.224  3400  9472 E BufferQueue:  [00:0x7756e78b7210] stateACQUIRED 0x7756278cf050 frame412 [1080x1776:1088,  1] 06-22 11:24:40.224  3400  9472 E BufferQueue:  [01:0x7756e78c0210] stateACQUIRED 0x7756278c3ad0 frame413 [1080x1776:1088,  1] 06-22 11:24:40.224  3400  9472 E BufferQueue:   [02:0x7756e78c73b0] stateQUEUED   0x7756278d0e90 frame414 [1080x1776:1088,  1]03 — 方法及源码 现在的方法是把BufferQueue的状态信息直接打印到logcat中通过设置一个属性值来指定需要打印哪一个BufferQueue的信息。 源码 阅读原文获取 Android Graphics 显示系统 - BufferQueue的状态监测
http://www.zqtcl.cn/news/892749/

相关文章:

  • 彩票网站建设基本流程网站文章页做百度小程序
  • 在淘宝上做代销哪个网站好推广普通话喜迎二十大的手抄报怎么画
  • 知名网站建设开发受欢迎的唐山网站建设
  • 普洱网站搭建创建论坛网站需要多少钱
  • 自己做的网站如何在网络上展示wordpress 手动采集
  • 上海做网站要多少钱wordpress教程app
  • 房地产设计网站沈阳人流哪个医院好安全
  • 贵阳专业做网站微信小程序商城源代码
  • seo建站收费地震郑州做网站开发销售
  • 东莞整站优化推广公司找火速建设企业网站要多少钱
  • 网站备案 两个域名东莞保安公司联系电话
  • 网站专业制作公司律师如何在网上推广
  • 免费培训seo网站一直免费的服务器下载安装
  • 广州h5网站制作公司做竞价网站 要注意什么
  • 太原网站搭建推广id怎么编辑wordpress
  • 网站开发网站设计制作广告设计与制作基础知识
  • 企业建设H5响应式网站的5大好处网站备案后经营
  • 网站数据流分析怎么做河北搜索引擎推广方法
  • 哈尔滨网站建设咨询辽宁建设工程信息网怎么看项目经理是不是被锁住
  • 成立做网站的公司搭建网站有费用吗
  • 标志设计说明案例北京网站优化seo
  • 国外app设计网站佛山网站推广市场
  • 北京矿建建设集团有限公司 网站科技软件下载
  • 公司建网站要多少钱wordpress轮播框
  • 怎么看一个网站什么语言做的全网最新首码项目
  • 深圳网站建设ue网站空间和流量
  • 网站前端设计要做什么游仙建设局官方网站
  • 大型门户网站建设哪家好进一步加大网站集约化建设力度
  • 网站里面那些工作是做晚上兼职的钱包网站建设策划
  • 网站开发实现的环境自豪地采用wordpress 怎么去掉