2015-05-28 5 views
3

Я разрабатываю приложение, в котором я использую skobbler sdk 2.4, и я столкнулся с проблемой при открытии карты, а затем я перехожу на задний план и открываю приложение, которое требует большой памяти, такой как Clash кланов: P.Сбой Skobbler после возврата с фона

Через несколько секунд, когда я вернусь к деятельности, которая содержит карту он темнеет и через 2 секунды он дает эту ошибку LogCat:

A/libc﹕ Fatal signal 11 (SIGSEGV), code 1, fault addr 0x44 in tid 27000 (GLThread 72284) 

Я попробовал то же самое с примером, который приходит с sdk и сначала он сбой, потому что он не может найти путь String, который хранится внутри экземпляра приложения. Я сделал обходной путь для этой проблемы и устранил крах исключительного исключения, исходящий из класса приложения DemoApplication. Это не проблема. Проблема с картой.

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

Любое предложение ценится :)

+0

Мы не осведомлены о каких-либо таких проблемах, можете ли вы отправить нас на [email protected] лет ур демонстрационный проект? На каких устройствах вы тестировали? – SylviA

+0

Я работаю с lg g3 D855 (Android 5.0). Завтра я пришлю вам письмо с моим демо-проектом. –

+1

Я нашел решение своей проблемы: D –

ответ

2

Благодаря Сильвии в то время как я проверял мой пример приложения я пытался решить проблему Null Pointer Exception и отправить его по электронной почте.

Пока я писал код во второй раз, я понял, что делаю что-то неправильно, и это было причиной этого абсурдного краха.

Здесь я размещаю часть из кода, где я внес свои изменения, когда карта инициализирована в MapActivity.class. Эти изменения сделаны в DemoUtils.class

/** 
* Initializes the SKMaps framework 
*/ 
public static void initializeLibrary(final Context context) { 
    final DemoApplication app = (DemoApplication)context.getApplicationContext(); 
    // get object holding map initialization settings 
    SKMapsInitSettings initMapSettings = new SKMapsInitSettings(); 
    // set path to map resources and initial map style 

    SharedPreferences mSharedPreferences = context.getSharedPreferences("map",0); 
    if(app.getMapResourcesDirPath()==null) { // here happens the first error 
     Toast.makeText(context,"Null Exception Error avoided", Toast.LENGTH_SHORT).show(); 
     app.setMapResourcesDirPath(mSharedPreferences.getString("map_path",null)); 
    }else { 
     SharedPreferences.Editor mEditor = mSharedPreferences.edit(); 
     mEditor.putString("map_path",app.getMapResourcesDirPath()); 
     mEditor.commit(); 
    } 

    initMapSettings.setMapResourcesPaths(app.getMapResourcesDirPath(), 
      new SKMapViewStyle(app.getMapResourcesDirPath() + "daystyle/", "daystyle.json")); 

Что я делаю неправильно было на этой линии, и это было что-то вроде этого:

initMapSettings.setMapResourcesPaths(app.getMapResourcesDirPath(), 
      new SKMapViewStyle(null + "daystyle/", "daystyle.json")); 

И это должно быть сделано так:

initMapSettings.setMapResourcesPaths(app.getMapResourcesDirPath(), 
      new SKMapViewStyle(app.getMapResourcesDirPath() + "daystyle/", "daystyle.json")); 

Спасибо за ваше время :)