日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【新闻背后】美团外卖商家Android版强杀竞争对手App

發布時間:2023/12/20 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【新闻背后】美团外卖商家Android版强杀竞争对手App 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下午,一位程序員小伙伴在知乎上發了一則帖子技術揭幕貼,題目也是廣為人知的知乎體「如何評價美團外賣強殺競爭對手的 App 進程?」

簡而言之,該程序員在反編譯完美團外賣商家Android版后,發現其中有一個殺死后臺運行進程的權限,通過Android開發者官方文檔,他隨之找到了killBackgroundProcesses(String packageName)的調用處,發現美團的Android程序員直接用Hardcode寫死了四款App的包名——餓了么商家版、點評商家版、淘點點商家版、百度外賣商家版。

這位舉報者指出,美團調用killBackgroundProcesses(String packageName)方法的類名是FriendUtil(這個類名倒是很厚道,呵呵),最后他表示美團大膽地用Hardcode封殺的行為,實在有點過了。

小編也建議做「有節操」的Android 開發者,共同維護平臺公平性,希望這次不要又拿實習生出來頂包。

【更新】

美團還是反應很快的。公司的副總王慧文在晚7點多時回應,9點多給出了詳細的調查結果,“全量發版更新掉了這段代碼”,并道歉。

另外代碼的編寫者(已離開美團,前員工也能很快找到并回應,看人家這執行力)也給出了自己的說明,并道歉。兩者的核心內容是一致的,商家App需要通過藍牙打印,但Android手機藍牙模塊只能允許一個App與藍牙設備連接,為了解決爭用導致無法打印的問題,就直接寫了關閉其他應用的代碼。由于Android軟件”基本上都會加上后臺自啟”,所以其他應用其實并不會真正失效。

知乎上很多討論來自“殺與被殺”當事雙方,都有些意氣用事,多數都沒什么價值。但其中董涵的回答中,建議這種情況下,可以“使用斷開后重連的方式來強制再次連接……畢竟你們使用的藍牙打印機應該是不同的,可以判斷出是否是自己應用連接上。實在不行,可以先disable后再enable。”

十三郎還給出了代碼:

BluetoothAdapter.getDefaultAdapter().enable(); BluetoothAdapter.getDefaultAdapter().disable();

對此,代碼編寫者回復:

  • 商家那塊一般只會放一臺藍牙打印機,所以當一個app連接上的時候,另外一個app必然不能連接
  • 關于斷開藍牙重連的思路,這個早就嘗試過,但是沒有效果,原因據我猜測,同行的app監聽的藍牙廣播,并且后臺自啟動,所以即使我們應用在前臺,只要他們應用在后臺運行著,藍牙端口也會被搶先占用,所以才考慮kill后臺進程的方案
  • 餓了么的產品經理sacho則從產品角度提出了一種解決方案:

    針對你說的藍牙端口被其他 app 占用無法連接的問題,餓了么的產品經理會給出如下解決方案:彈窗提醒用戶問題所在,請用戶選擇是否強行關閉其他 app。

    感覺比較合理。

    【頭條點評】

    美團在代碼中殺對手進程的做法當然是不對的,這個毋庸置疑,不管你初衷如何,影響多大,競爭情況下類似會引起沖突的任何舉措都要特別謹慎。否則就是授人以柄,一旦被人抓住,你就等著唾面自干吧。

    但這次事件的性質與當年3Q大戰還是有很大區別的:殺死會自動重啟的進程與直接卸載對方的軟件當然不可同日而語。

    從格調上也有區別,那時候是你死我活,兩邊都有很重的草莽氣。現在雖然也有很多嘴仗(大部分沒什么必要),但雙方的應對都理性、紳士多了,很欣喜業界新興公司的這種進步。

    現在問題來了,遇到這種情況,最合理的解決方案是什么呢?吵架沒什么意思,歡迎大家繼續討論正事兒。

    總結

    以上是生活随笔為你收集整理的【新闻背后】美团外卖商家Android版强杀竞争对手App的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。