uniapp的项目运行在微信小程序 , 安卓 , ios手机三端 ,
之前这个项目集成过im,不过版本太老了,0.x的版本, 现在需要添加客服功能,所以就升级了
由于是二开 , 也为了方便 , 沿用之前的webview嵌套腾讯IM的方案 , 选用uniapp集成ui ,升级之后所有安卓用户反馈点击进去特别卡,几乎不能用...
因为我在测试的时候一直用的ios真机调试,偶尔用微信开发者工具调调样式,所以没太在意IM那会有性能问题.
一顿翻找资料和检查代码,通过浏览器抓取内存快照发现获取用户头像那里特别的卡,具体原理不知道干什么了 反正就是
conversation
实例里面的
getAvatar()
这个方法, 也不知道我判断的对不对 ,
然后继续查找 , 发现可能某一些用户头像在腾讯IM侧没找到 404 了导致请求卡住了, 又把所有获取头像的地方改成了直接获取default头像 , 也没解决
然后继续查找 , 发现在聊天页面的的 "+" 组件里面有很多 emoji 于是我把那个组件也干掉了 , 然并卵 ..
后来觉得是webview的原因 , 又直接集成到uniapp项目中并且配置分包 , 也非常的卡
后台觉得是uniapp集成IM的原因 ,我又创建了一个h5 vue3版本的 , 按照官网弄还是卡 ...
总感觉我集成的方式不对 , 一次性加载太多组件或 耗费电脑内存的东西了 ,所以导致的卡 , 为毛ios一点事情都没有
问题解决了, clone了无数次的官网demo ,发现用上我的 腾讯云appid 和 秘钥就卡 , 所以我自己申请了一个测试的应用, 发现不卡了 , 随后我检查应用内的用户列表,发现有几个用户的头像地址明显很长, 复制出来用浏览器访问, 发现404 , 然后我将所有404 的头像都删掉了 , 结果就好了