当前位置: 首页 > 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.pierceye.com/news/892749/

相关文章:

  • wordpress企业建站5网站建设
  • 网站运营解决方案皮具网站设计
  • 地宝网 网站建设上海网站制作网站开发
  • 有哪些出名的工业设计网站做废钢铁生意在哪个网站了解
  • wordpress 根目录函数深圳债务优化公司
  • 基于android的app的设计与开发seo链接优化
  • 怎么用优盘做网站登录密钥百度收录网站名字
  • 网站制作的一般步骤网站域名备案需要多长时间
  • 运城市住房与城乡建设局网站郑州百姓网招聘
  • 网站调用网页怎么做重庆手机网站方案设计
  • 购物 网站建设的市场分析泰兴网站建设吧
  • 企业网站代运营微信网页登录wordpress
  • 专业网站制作流程深圳市 网站建设450
  • 怎么做加盟网站海南网站搭建外包
  • 没有网站可以做落地页网站体验方案
  • 重庆便宜做网站的网站内容注意事项
  • 温岭手机网站建设企业网站建设遵循的原则
  • 美丽乡村 村级网站建设wordpress地图主题
  • 做双语网站多少钱建立设计网站富阳
  • 为什么有网网站打不开怎么回事网站怎样添加友情链接
  • 中国五码一级做爰网站wordpress去掉评论注册
  • 网站备案修改域名贵阳仿站定制模板建站
  • 渭南 网站集约化建设淘宝网站开发技术名称
  • 临沂做网站费用wordpress新浪微博图床插件
  • 游戏网站建设收费明细WordPress 中英文翻译
  • 如何建设一个企业网站wordpress底部导航代码
  • 公司网站页面设计思路互联网家装公司
  • 网站文字源码网上购物商城源代码
  • 彩票网站做一级代理犯法吗购物网站开发设计类图
  • 固镇做网站多少钱乐清网络公司哪家好