powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Вылетает приложение которое находится в фоне при попытке восстановить из Background
17 сообщений из 17, страница 1 из 1
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38844962
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вылетает приложение которое находится в фоне при попытке восстановить из Background, c NullPointerException ссылка почему то становится равной null, хотя ранее была инициализирована. Происходит такое когда параллельно запускается игрушка.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845179
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое может быть из-за нехватки памяти для игры. Придется предусмотреть и такой вариант. Но и без игры такая ситуация легко может возникнуть, если приложение повторно запустить через н-ое время. Например, через сутки.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845221
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. Android убивает ссылки так получается что ли?
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845229
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87Т.е. Android убивает ссылки так получается что ли?
Не ссылки, а память, выделенную под объекты. И при чем студия (эклипс, уверен тоже) честно об этом предупреждает во всех случаях, выделяя желтым цветом и выводя соответствующий текст.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845245
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не выделяет ничего, ни одного ворнинга в исходном коде. И как бороться с этим? Есть ли какая-нибудь ссылка на оф. документацию?
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845247
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня эклипс правда. Попробую поставить студию. Может там что есть.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845248
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы этот код был в активити то еще ладно, но он в сервисе.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845275
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87Не выделяет ничего, ни одного ворнинга в исходном коде. И как бороться с этим? Есть ли какая-нибудь ссылка на оф. документацию?
Без наличия кода и указания строки, где появляется ошибка - это гадание без кофейной гущи.

Вот так это выглядит в студии.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845333
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38845413
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87, то есть не смущает, что чуть выше точно на таком-же коде sl.getSelf() ошибка не всплывает?
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38846082
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38846226
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87Почему Андроид освобождает память именно из под объекта adapter класса DBADapter и что делать не могу же я весь код переписать
Там много что может быть удалено из памяти при её нехватке. Как раз задача программиста об этом побеспокоиться.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38846320
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а как понять когда Андроид собирается удалить или по другому как заботится об этом, какие ссылки проверять а какие нет?
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38846332
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87, я-ж показал выше, как студия подсказывает.
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38854982
ziver87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Импортировал проект в Android Studio нгичего не подсвечивает в том месте где NullPointer выскакивает, есть какая-то кнопка и как проверить работает эта фича или нет?
...
Рейтинг: 0 / 0
Вылетает приложение которое находится в фоне при попытке восстановить из Background
    #38855034
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziver87, а разве проблема не решена?

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


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