
1 slixurd 2015 年 6 月 22 日 感觉知乎题主只是想搞出个大新闻。既然会反编译了,难道还不会看看函数引用? 刚刚反编译了一下顺带帮美团洗地。 public void onEventMainThread(BtMsgEvent paramBtMsgEvent) { if ((paramBtMsgEvent.a == 5) && (paramBtMsgEvent.b != null)) showToast((String)paramBtMsgEvent.b); while (paramBtMsgEvent.a != 7) return; FriendUtil.b(this); } 只有这个EventBus用到那个杀掉进程的功能。 然后 grep -r BtMsgEvent ./ ...... .//com/sankuai/meituan/meituanwaimaibusiness/modules/print/bt/BtService.java: EventBus.getDefault().post(new BtMsgEvent(5, "正在连接蓝牙设备")); 所以的确是像他们给自己洗白一样的用法。 |
2 slixurd 2015 年 6 月 22 日 哦对,另外杀别人进程这事情本身就不光彩 这种做法的确有违常规。 |
4 t895 2015 年 6 月 22 日 我写了个APP,启动的时候除了系统进程之外其他全杀,这是什么水平doge: |
5 theoractice 2015 年 6 月 22 日 via Android 这不是一个有情怀的做法,lol |
6 learnshare 2015 年 6 月 22 日 只是正常的商业行为而已,越狡辩越难看 |
7 a01113 2015 年 6 月 22 日 杀别人的进程和gfw有什么区别 |
8 fashioncj 2015 年 6 月 22 日 我一直以为这个代码只能让别人的程序停止一下下而已- -暂时的解除锁定。。 |
9 sloppysop OP 反正感觉涉及到利益了就脏。 饭否就特别干净。 |
10 happypy1 2015 年 6 月 22 日 照”官方解释“,杀进程只是因为获取不到蓝牙通信频道。 那为何只杀同行竞争者的进程,难道美团的工程师就觉得没有其他的进程会占据着蓝牙通信频道吗? |
11 run2 2015 年 6 月 22 日 事实上他们只要给个提示给用户,让用户按下激活那个杀进程的功能就好了...可惜 |
12 lsmeb89 2015 年 6 月 22 日 @happypy1 这个是因为商家都在同时用几个同类的 App 啊。如果一楼的代码分析正确,那官方的解释是合理的。只是他们的做法太草率,太 workaround 了,一看就是创业公司初期快速迭代主要代码,这种小问题就先 workaround 放着。只不过后来接手的人可能因为麻烦就没愿意再去改进罢了。其实比较优雅的做法,是给个提示,让用户暂时去关闭其他的商家的 App。但是你其实仔细想下,很多用户是弄不来的,你觉得一个路边小饮食店的老板会知道 Android 彻底杀掉 App 的方法吗? |
14 VirgilMing 2015 年 6 月 22 日 @lsmgeb89 我觉得问题是……又不是键鼠这种设备,一般的蓝牙连接需要一直维持吗?如果所有的应用都只在必要的时候调用蓝牙,用完立刻释放,也不用这种 workarond 了吧…… |
15 lsmgeb89 2015 年 6 月 22 日 @VirgilMing 只有写这代码的人知道具体原因吧,自己瞎猜有什么意思。可能某个 App 用完没释放,可能某个版本 Android 的系统问题,可能。。。 其实也没什么大不了的事,谁会想到这么一段 workaround 在将来被别人翻出来讨论呢? 如果是美团是恶意竞争 kill 掉其他竞争对手,那早就像当初 3Q 大战一样打起来了,你觉得还会等到现在吗? |
18 zzNucker 2015 年 6 月 23 日 这楼都能看出有些喷子连别人答案都没仔细看,看了个标题就开喷了。。。 |
19 jesse_luo 2015 年 6 月 23 日 要说的话的确是技术问题,但是这种做法被别人拿来发挥也没办法,内部也有反思的 估计最近我厂或某些友商又要融资了吧……记得去年12月左右就密集的黑过一轮的 |
20 janxin 2015 年 6 月 23 日 看1楼的说法,我倒是觉得美团还是可以原谅的... |
21 tankb52 2015 年 6 月 23 日 我还是有两个问题 1. 友商的APP杀不杀对手进程? 2. 其它应用在占用蓝牙打印是怎么考虑的? |