2016-06-21 2 views
1

Мое кодовое имя - одно приложение, отлично работает на Android и на симуляторе, но на моем iPad это не так. Я тестировал устройства iPad и iPhone, и он падает.Codename Одно приложение работает на симуляторе и Android, но падает на iPad и iphones

На iPad (iPad3,4), я вижу JetsamEvent событий, возникших после аварии.

This answer, похоже, указывает на то, что это проблема с памятью, но я испытываю эту проблему только на устройствах Apple (iPad и iPhone).

У кого-нибудь есть предложения по управлению или улучшению памяти моего приложения?

На всех устройствах Android, которые я тестировал, приложение никогда не разбилось так.

Аварийное сообщение всегда в порядке. После крушения я повторяю те же действия, и он не падает. Это совершенно случайно.

Заранее спасибо.

+0

Неясно мне, если авария сразу же при запуске или в какой-то другой точке. Независимо от того, я бы предложил охватить основные функциональные возможности, которые вы вызывают, которые могут дать некоторые подсказки относительно того, что пошло не так. –

ответ

0

После многого теста я выяснил, что проблема заключается в объекте mapResponse и как он работает в iOS-системах. Если mapResponse невелик, вы можете сделать это: String resResponse=(String)mapResponse.get("RES"); без проблем в iOS.

Но если ответ большой (например, 4000 символов), то mapResponse.get("RES") не является истинной строкой. Только работа с этим ложным объектом Строка сбою приложения, например:

if (resResponse != null && resResponse.startsWith("SUP")) 

Так что я должен проверить, если mapResponse объект является строка или не нравится:

isError=(objResp instanceof String) 
0

Не так много сделано с отчетами об авариях, поэтому я предлагаю использовать класс Log для отслеживания, где произошел сбой, и с использованием процесса устранения, чтобы выяснить, какая часть кода несет ответственность за сбой.

+0

После большого теста я выяснил, что проблема заключается в объекте mapResponse и как он работает в iOS-системах. Если mapResponse невелик, вы можете сделать это: String resResponse = (String) mapResponse.get ("RES"); без проблем, Но если ответ является большим, только успевай объект Строки сбоит приложение: если (resResponse = NULL && resResponse.startsWith («SUP»)!) Так я должен проверить, если объект mapResponse is String или не так: isError = (objResp instanceof String) – karrtojal