Hessian服務器框架接iOS,數(shù)據(jù)請求出現(xiàn)EXC_BAD_ACESS的內存錯誤在DATA部分

問題:崩潰是在獲取數(shù)據(jù)的DATA(Hessian框架里面),我第一反應肯定不是第三方的問題,是服務器的問題
實際情況:
在請求同樣的接口的時候,傳參3個成功并展示數(shù)據(jù)在tableView上,最后一個參數(shù)有14個,崩潰了

想法:1.多半是這個參數(shù)反參的問題,我在公司內部的網(wǎng)絡接口的測試界面(PC端)測試這個參數(shù)請求,但是能展示所有的數(shù)據(jù)(注:公司的后臺數(shù)據(jù)是使用實體寫的,每個實體有40-50條數(shù)據(jù),很多為null,或者0,或者<>...</p>的標簽:這里是有一條是作為富文本,需要給PC端做一個H5界面使用,移動端不使用該數(shù)據(jù))
解決方式:
1.我們先做斷點,發(fā)現(xiàn)錯誤一直停留在data部分,一步步測試,是在跳了無數(shù)次內存部分了之后蹦在了data部分,顯示是內存錯誤的常見紅BUG
1.1.查資料,發(fā)現(xiàn)是提前釋放了未知對象(我們判斷是內存野指針問題)
1.2.也就是說數(shù)據(jù)在獲取中出現(xiàn)了野指針情況

2.我們做了數(shù)據(jù)測試
2.1把服務器端該數(shù)據(jù)的參數(shù)請求做了獲取數(shù)據(jù)只有1條,測試,成功;
2.2把服務器端數(shù)據(jù)獲取改為5條,成功;
2.3 同理10條,失敗;
2.4倒數(shù)9 8 7 6 都失敗了
2.5但是在6出現(xiàn)了不同情況,data獲取到了6條數(shù)據(jù),但是沒有展示出來,出現(xiàn)了野指針報錯

3.我們做了裸數(shù)據(jù)測試
3.1把每個實體的46條數(shù)據(jù)里面的參全部為空,iOS端不做數(shù)據(jù)展示,只打印數(shù)據(jù)包,成功
3.2測試是否因為content(標簽參)的原因,去掉后仍然失敗

4.我們推測問題是不是出在了獲取的另外的多余的數(shù)據(jù)參數(shù)空指針太多(null,服務器用MySQL,沒有參默認為null)
4.1在Hessian的iOS框架代碼部分,沒有對數(shù)據(jù)中null做處理

解決方法:
1.在服務器部分單獨寫一個類(最優(yōu)解決方式),做該請求的時候,獲取的數(shù)據(jù)參全部是我當前界面需要的參數(shù)(即展示數(shù)據(jù)部分參數(shù)與關聯(lián)界面id相關參數(shù)),這樣我請求到的數(shù)據(jù)有3個好處:
1.1數(shù)據(jù)過于臃腫的46個參數(shù),不需要在前端來做數(shù)據(jù)清理,大大減小了前端的內存消耗
1.2由于數(shù)據(jù)清理再倒入當前視圖的dataArray,所以這樣可以減少頁面請求數(shù)據(jù)展示的總時間
1.3避開了所有的數(shù)據(jù)null,以及可能存在的未知錯誤。

2.在iOS端做數(shù)據(jù)null判斷,需要iOS端程序員和服務器端總工程師合作,對null字段進行修正判斷處理,改為空字符串,或移除該字段
2.1數(shù)據(jù)處理,雖然是走了Hessian框架的內部,但是依然是吧問題留在了前端來處理
2.2需要的架構封裝底層知識不少,主要是針對data做數(shù)據(jù)判斷循環(huán)處理過,處理后的數(shù)據(jù)包可能存在數(shù)據(jù)個數(shù)不等的情況, 甚至可能某些當前界面需要的數(shù)據(jù)為null時被置空,當然,也可以將該null參改為空字符串。

版權歸簡書jackDay所有,轉載請說明出處
文中有不足之處,敬請斧正,不勝感激,也希望和仍然使用Hessian做服務器的公司iOS員工交流

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,797評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,179評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,628評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,642評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,444評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,948評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,040評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,185評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,717評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,794評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,418評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,414評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,750評論 2 370

推薦閱讀更多精彩內容

  • 最全的iOS面試題及答案 iOS面試小貼士 ———————————————回答好下面的足夠了-----------...
    zweic閱讀 2,712評論 0 73
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,372評論 0 35
  • __block和__weak修飾符的區(qū)別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,350評論 0 6
  • 老爸老媽都生病了,都很重! 我的心態(tài)從最初的不能接受,到無可奈何的面對,一直到現(xiàn)在的抱怨連天。每每熟悉的朋友一問到...
    曼馨私語閱讀 173評論 0 2
  • 今天,你居然主動給我打電話了!看到兩個未接來電,立馬心跳加快,準備立刻回撥過去,但是我忍住了,為了我那僅有的一點點...
    小魚兒與燕雀閱讀 184評論 0 0