У меня странная проблема с сериализацией Hashtable. Я сделал приложение сервера, клиента. Где сервер (ПК / MAC) сериализует Hashtable и отправляет его Клиенту (Android) через UDP. Данные отправляются / читаются правильно, но я получаю кучу этих сообщений ниже на LogCat.
04-12 11: 19: 43.059: DEBUG / dalvikvm (407): GetFieldID: невозможно найти поле Ljava / util / Hashtable; .loadFactor: F
Иногда я видел бы эти
04-12 11: 21: 19.150: DEBUG / dalvikvm (407): сборщик мусора освободил 10814 объектов / 447184 байта за 97 мс
Приложение будет работать в течение 2-3 минут, а затем вылетает. Интересно, что я не вижу ошибок Loadfactor на SDK 1.5. Но я вижу объекты GC Free xxxx, часто тихие.
После отладки я обнаружил, что проблема связана с десериализацией, а ошибка / предупреждение происходят из следующего кода
Код:
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bis);
object = ois.readObject();
в
Код:
object = ois.readObject();
на клиенте. Мой сервер сериализует следующий код.
Код:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
Есть идеи, что происходит?
Спасибо за помощь!