Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Вылетает приложение которое находится в фоне при попытке восстановить из Background / 17 сообщений из 17, страница 1 из 1
28.12.2014, 19:27
    #38844962
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Вылетает приложение которое находится в фоне при попытке восстановить из Background, c NullPointerException ссылка почему то становится равной null, хотя ранее была инициализирована. Происходит такое когда параллельно запускается игрушка.
...
Рейтинг: 0 / 0
29.12.2014, 09:04
    #38845179
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Такое может быть из-за нехватки памяти для игры. Придется предусмотреть и такой вариант. Но и без игры такая ситуация легко может возникнуть, если приложение повторно запустить через н-ое время. Например, через сутки.
...
Рейтинг: 0 / 0
29.12.2014, 09:38
    #38845221
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Т.е. Android убивает ссылки так получается что ли?
...
Рейтинг: 0 / 0
29.12.2014, 09:47
    #38845229
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87Т.е. Android убивает ссылки так получается что ли?
Не ссылки, а память, выделенную под объекты. И при чем студия (эклипс, уверен тоже) честно об этом предупреждает во всех случаях, выделяя желтым цветом и выводя соответствующий текст.
...
Рейтинг: 0 / 0
29.12.2014, 09:59
    #38845245
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Не выделяет ничего, ни одного ворнинга в исходном коде. И как бороться с этим? Есть ли какая-нибудь ссылка на оф. документацию?
...
Рейтинг: 0 / 0
29.12.2014, 10:01
    #38845247
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
у меня эклипс правда. Попробую поставить студию. Может там что есть.
...
Рейтинг: 0 / 0
29.12.2014, 10:02
    #38845248
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Если бы этот код был в активити то еще ладно, но он в сервисе.
...
Рейтинг: 0 / 0
29.12.2014, 10:25
    #38845275
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87Не выделяет ничего, ни одного ворнинга в исходном коде. И как бороться с этим? Есть ли какая-нибудь ссылка на оф. документацию?
Без наличия кода и указания строки, где появляется ошибка - это гадание без кофейной гущи.

Вот так это выглядит в студии.
...
Рейтинг: 0 / 0
29.12.2014, 11:28
    #38845333
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
wadmanБез наличия кода и указания строки, где появляется ошибка - это гадание без кофейной гущи
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
public class JobService extends Service 
{	
	private ConcurrentLinkedQueue<Runnable> jobs = new ConcurrentLinkedQueue<Runnable>();
	private Thread internalThread;
	private AtomicBoolean stopFlag = new AtomicBoolean();
	
	private void initJobs()
	{		
		SystemLogic sl = new SystemLogic(Session.getInstance().getDbAdapter());		
		String h70Host = Prefs.getPref(getBaseContext(), Prefs.H70_HOST);
		int docInjectport = Integer.parseInt(Prefs.getPref(getBaseContext(), Prefs.DOC_INJECT_PORT));
		jobs.clear();		
		jobs.add(new CashRegPing(getBaseContext()));
		jobs.add(new H70Ping(h70Host, docInjectport, sl.getSelf().getUid(), getBaseContext()));
		jobs.add(new H70FetchUsers(
				h70Host, 
				docInjectport, 
				Session.getInstance().getDbAdapter())
		);
		
		String jSukaHost = Prefs.getPref(getBaseContext(), Prefs.JSUKA_HOST);				
		int jSukaPort = Integer.parseInt(Prefs.getPref(getBaseContext(), Prefs.JSUKA_PORT));
		
		jobs.add(new JSukaPingJob(getBaseContext(),jSukaHost, jSukaPort, sl.getSelf().getUid())); // <-- На методе sl.getSelf() происходит выброс ///исключения NullPointerException  и странно что отладчиком я не могу перейти в это место в эклипсе.
		jobs.add(new JSukaChecksTransmitter(jSukaHost, jSukaPort, Session.getInstance().getDbAdapter()));
		jobs.add(new H70ShippingDeedsTransmitter(h70Host, docInjectport, Session.getInstance().getDbAdapter()));		
		jobs.add(new GetIpJob(getBaseContext()));		
		YLogger.info("UpdateUsersJob successfully added");
	}						
	@Override
	public int onStartCommand(Intent intent, int flags, int startId) 
	{				
		initJobs();
		stopFlag.set(false);
		startInternalThread();
		return super.onStartCommand(intent, flags, startId);
	}


На методе sl.getSelf() происходит выброс исключения NullPointerException и странно что отладчиком я не могу перейти в это место в эклипсе.
...
Рейтинг: 0 / 0
29.12.2014, 12:28
    #38845413
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87, то есть не смущает, что чуть выше точно на таком-же коде sl.getSelf() ошибка не всплывает?
...
Рейтинг: 0 / 0
29.12.2014, 21:33
    #38846082
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
wadman,
смущает,написал ошибочно на воторой строе, я так точно и не смог определить на каком конкретно методе наверное на верхнем, отладчиком ставил breakpoint но в этот метод не вошел, но exception выбрасывается и программа падает. Код getSelf():
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public SourceBase getSelf(){		
	return adapter.performAction(new DBAction<SourceBase>() {			
		@Override
		public SourceBase perform(SQLiteDatabase db) throws Throwable {
			EntityAdapter ea = new EntityAdapter(adapter.getContext(), db);
			SourceBase self = ea.getSelf();
			if (self == null){				
				throw new RuntimeException("Self not found!");
			} else{
				return self;
			}
		}
	});		
}


ПУтем логирования определил что adapter == null. Почему Андроид освобождает память именно из под объекта adapter класса DBADapter и что делать не могу же я весь код переписать
Код: java
1.
2.
3.
if(inst == null) {
inst = new Instance(...)
}
...
Рейтинг: 0 / 0
30.12.2014, 09:02
    #38846226
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87Почему Андроид освобождает память именно из под объекта adapter класса DBADapter и что делать не могу же я весь код переписать
Там много что может быть удалено из памяти при её нехватке. Как раз задача программиста об этом побеспокоиться.
...
Рейтинг: 0 / 0
30.12.2014, 10:52
    #38846320
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Ну а как понять когда Андроид собирается удалить или по другому как заботится об этом, какие ссылки проверять а какие нет?
...
Рейтинг: 0 / 0
30.12.2014, 11:08
    #38846332
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87, я-ж показал выше, как студия подсказывает.
...
Рейтинг: 0 / 0
15.01.2015, 11:23
    #38854982
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Импортировал проект в Android Studio нгичего не подсвечивает в том месте где NullPointer выскакивает, есть какая-то кнопка и как проверить работает эта фича или нет?
...
Рейтинг: 0 / 0
15.01.2015, 12:06
    #38855034
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
ziver87, а разве проблема не решена?

ziver87есть какая-то кнопка и как проверить работает эта фича или нет?
Фича работает из коробки. Как проверить? Написать кривой код.
...
Рейтинг: 0 / 0
16.01.2015, 13:41
    #38856129
ziver87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вылетает приложение которое находится в фоне при попытке восстановить из Background
Значит не работает фича.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Вылетает приложение которое находится в фоне при попытке восстановить из Background / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]