为什么一段代码能让手机QQ卡死?

作者 : cardsc 本文共3462个字,预计阅读时间需要9分钟 发布时间: 2021-06-15 共245人阅读

QQ头条卡片、QQ自定义卡片、微信图文卡片、抖音私信名片、快手私信名片、快手消息卡片、网页跳转微信、跳转唤醒wap等技术服务。咨询QQ:2676163226

就是这一段,最近有好友发出来之后就卡了,电脑发没事,安卓机卡死,苹果也会卡,但是问题不大。求各路大神解释,到底为什么???特别想知道!!!
字符:
oo0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.O00.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO0.oo.OOO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo.OO00.oo

 

// 内存溢出。

但是iOS的优化方式比Android好很多

比如iOS能够一滑彻底关闭程序,而Android只能结束前台进程,空进程和缓存进程要在设置里kill掉

具体需要了解QQ读取信息的方式,可能是用HTML实现的,目的是兼容表情符,但是读取速度会比较慢

还有一种可能,QQ读取消息是在UI线程里完成的,但是Android的UI线程5秒无UI操作就会ANR…

如果将一大堆信息突然放到QQ里,让它读取,结果就是不知所措,被其坑没,数据量太大,导致QQ要读取很长一段时间才能做成成品显示,而在此期间是可以几乎将内存占满的,但是不可能占满(因为有LowMemory Killer机制),再加上一大堆东西,一起放到内存里,挤死了

还有一种炸弹(我刚刚了解到),看着很短,只有2行,看着只有11个字符,但是只要一触碰,QQ就会立马挂(同种原理)。我将此消息复制(当然,用的是国际版)到文本上,2.9KB,只是缩短了显示长度,原理是复制某个Unicode字符(一些Unicode字符无长度,比如可控制字符正反显示的U202E/U202D)无数个,然后发布到QQ上,使其行拂乱其所为。

如果不想被坑,可以试试QQ国际版,轻聊版,虽然功能少,但是不至于会被卡死,国际版的插件比完全版少很多,虽然不能收发红包,但是有翻译,岂不美哉?

还有就是电脑OS的内存机制和手机不同(特别是和Android),其内存比较大,一般不会卡,但是最近的QQ版本某些时候会自己挂…

电脑的CPU大多是x86 or x64(Intel)的,而手机大多是ARM(一般是v7),光凭CPU手机就差了一大截…

// Update on 2018.5.5

我后来在b站上看到了原理说明,用8206&8207两个字符,前者让文本前对齐,后者反之,导致产生大量绘图操作,最后卡死

所以,最根本的问题是在绘图操作上!!

但是QQ目前没有屏蔽这两个字符,也没有放出解决办法

而QQ是点击的时候卡死的,正好是绘图操作(背景变暗)

那么,应该是背景放在TextView,直接操作TextView导致的重绘卡死?

如果是这样的话,将TextView与背景分离即可,但是这样会使layout更复杂,会造成卡顿。

个人认为比较奇葩的方法就是测量,将信息读取完后用空格和\n代替表示,但是这样也会造成unicode字符数据丢失

个人认为QQ应该开启一个选项,让用户自行设置,将unicode字符屏蔽(hex方式直显消息),这样应该会好很多。

    跳转卡片制作平台(cardsc.cn),QQ头条卡片、QQ自定义卡片、微信图文卡片、抖音私信名片、快手私信名片、快手消息卡片、网页跳转微信、跳转唤醒wap等技术服务
    QQ头条卡片_QQ私信名片_QQ消息卡片_自定义卡片_图文链接卡片_网页跳转唤醒 » 为什么一段代码能让手机QQ卡死?

    常见问题FAQ

    贵站提供哪些技术服务?
    我们可提供QQ头条卡片、QQ自定义卡片、微信图文卡片、抖音私信名片、快手私信名片、快手消息卡片、网页跳转微信、跳转唤醒wap等技术服务

    发表评论

    国内极具人气的跳转卡片制作平台

    抖音私信名片 快手私信名片

    金价查询系统、今日金价、每日金价、国际金价走势、黄金价格、今日金价查询、每日金价查询、今日银价查询、每日银价查询、黄金价格走势 www.chajinjia.top、www.chajinjia.net、www.chajinjia.vip、www.chajinjia.com.cn、 www.chajinjia.cc、www.chajinjia.net.cn、www.chajinjia.ink、www.chajinjia.fit、 www.chajinjia.link、www.chajinjia.work、www.chajinjia.online、www.chajinjia.fun、www.chajinjia.site、www.chajinjia.shop、www.chajinjia.club、www.chajinjia.xyz、www.chajinjia.store