979451341

Results 27 comments of 979451341

onMeasure是用于测量view的大小,但是你直接修改了,你想要这个view大小是如此,那你为何还要去重新测量呢? 你也说了是自定义View不是VIewGroup,所以你无需考虑重新计算它的子view的大小

大佬啥时候再出一篇博客

1.确定Itemview的LayoutParams generateDefaultLayoutParams 2.确定所有itemview在recyclerview的位置,并且回收和复用itemview onLayoutChildren 3.添加滑动 canScrollVertically 重点其实是 回收和复用itemview,你需要判断什么时候回收itemview,什么时候复用itemview

楼上讲了 应用层,我就说一下 系统层的, 首先屏幕是 大约16.6ms刷新一次(固定的),当界面需要改变时, CPU开始计算,将计算结果 赋予 GPU 的buffer缓存起来,等待刷新时间的到来,然后根据buffer的数据刷新界面 如果当前界面没有变化,CPU不用计算,也不会给GPU的buffer赋值啥的,这个buffer也就没变化,等到刷新时间的到来,会依旧根据buffer刷新屏幕 结论是:界面改不改变都会刷新界面,只是在于CPU是否计算这点区别 UI刷新卡顿,基本都在于卡在CPU计算这一环节,对于根据GPU 的buffer刷新这一环节,在系统里有很高的优先级,楼上就说了同步屏障就是保护这一优先级的一个手段

内存优化,上面的都将的差不多了,那我说一下不一样的 其实性能优化的大多数方案都会侧面的有 内存优化的功能 比如:apk包体积优化,就会减少应用所需系统内存,还有 界面优化(层级减少、界面尽量不刷新或者局部刷新)也会优化内存,

你参考这个,玩聊天,基于极光IM的即时通讯app,功能完善,供大家参考https://github.com/979451341/WanIm

你参考这个,可以发表情,玩聊天,基于极光IM的即时通讯app,功能完善,供大家参考https://github.com/979451341/WanIm

你参考这个,玩聊天,基于极光IM的即时通讯app,功能完善,供大家参考https://github.com/979451341/WanIm

可能是ios端没有使用VideoMessage,你参考这个,玩聊天,基于极光IM的即时通讯app,功能完善,供大家参考https://github.com/979451341/WanIm

你参考这个,玩聊天,基于极光IM的即时通讯app,功能完善,供大家参考https://github.com/979451341/WanIm