Saltar para conteúdo


Foto
- - - - -

URGENTE: getActiveNetworkInfo() não funciona e sockets não são fechados

android; socket;pipe; connectivitymanager getactivenetworkinfo

  • Por favor inicie sessão para responder
1 resposta a este tópico

#1 joserfsantos

joserfsantos

    Membro

  • Membros
  • PipPip
  • 61 mensagens

Mensagem publicada 21 August 2014 - 15:27

Boas.
 
Estou com um problema grave numa aplicação. Esta aplicação só corre em dois ou três tablets. E num deles tem problemas.
 
Nesta aplicação eu acedo a um servidor XMPP e tenho de validar periodicamente se a validação está ok porque se não estiver tenho de re-conectar de novo. 
Esta validação está a ser feita todos os 5~15 segundos. A primeira validação que é feita é verificar se tem internet. O problema está aqui porque o primeiro problema é que o ConnectivityManager.getActiveNetworkInfo() retorna sempre null mesmo quando tem internet.
 
De forma a contornar este problema decidi validar a internet tentando fazer uma especie de "ping" a um website. 
 
O problema aqui é que a aplicação abre mais pipes/sockets. Isto não seria um problema se não fosse o facto de ter descoberto que todos os pipes/sockets abertos por esta aplicação (e por outras) não são fechados. Logo ao fim de algum tempo a aplicação acaba por esgotar dodos os recursos disponíveis e faz o restart da mesma. Normalmente podemos e devemos fechar os sockets que são abertos mas estes pipes/sockets são inerentes ao uso the threads em background.
 
Tentei perceber o que diferenciava um tablet do outro e aparentemente a diferença mais visível é o gcc.
 
Mas SO não é a minha onda. Tirei algumas informações dos tablets e aqui está:
 
DEVICE COM PROBLEMAS
 
root@android:/ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 191.49
 
processor : 1
BogoMIPS : 191.49
 
Features : swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
 
Hardware : Amlogic Meson6 g24 customer platform
Revision : 0020
Serial : 000000000000000c
 
Linux version 3.0.8 (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #2 SMP PREEMPT Sat Mar 16 14:59:24 CST 2013x
 
root@android:/ # cat /proc/meminfo
MemTotal:         899636 kB
MemFree:          508980 kB
Buffers:            7488 kB
Cached:            91736 kB
SwapCached:            0 kB
Active:           211984 kB
Inactive:          38676 kB
Active(anon):     151472 kB
Inactive(anon):      300 kB
Active(file):      60512 kB
Inactive(file):    38376 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:        524288 kB
HighFree:         193704 kB
LowTotal:         375348 kB
LowFree:          315276 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                12 kB
Writeback:             0 kB
AnonPages:        151436 kB
Mapped:            52384 kB
Shmem:               336 kB
Slab:              18528 kB
SReclaimable:       7712 kB
SUnreclaim:        10816 kB
KernelStack:        7608 kB
PageTables:         7304 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      449816 kB
Committed_AS:    4315404 kB
VmallocTotal:     262144 kB
VmallocUsed:      102024 kB
VmallocChunk:     123844 kB
 
 
DEVICE A FUNCIONAR
 
shell@android:/ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 957.48
 
processor : 1
BogoMIPS : 957.48
 
Features : swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
 
Hardware : Amlogic Meson6 g04 customer platform
Revision : 0020
Serial : 000000000000000c
 
shell@android:/ # cat /proc/version
Linux version 3.0.8 (android@amdroid) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #1091 SMP PREEMPT Sat Jan 19 10:32:55 CST 2013
 
shell@android:/ $ cat /proc/meminfo
MemTotal:         897124 kB
MemFree:          376436 kB
Buffers:           14260 kB
Cached:           115200 kB
SwapCached:            0 kB
Active:           267188 kB
Inactive:          32396 kB
Active(anon):     170168 kB
Inactive(anon):      384 kB
Active(file):      97020 kB
Inactive(file):    32012 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:        458752 kB
HighFree:          68028 kB
LowTotal:         438372 kB
LowFree:          308408 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 4 kB
Writeback:             0 kB
AnonPages:        170072 kB
Mapped:            53492 kB
Shmem:               428 kB
Slab:              84896 kB
SReclaimable:      57936 kB
SUnreclaim:        26960 kB
KernelStack:        4192 kB
PageTables:         6496 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      448560 kB
Committed_AS:    4503612 kB
VmallocTotal:     188416 kB
VmallocUsed:      105352 kB
VmallocChunk:      62404 kB
 
PERGUNTA: Alguém tem conhecimento de um problema deste género? O que posso fazer?


#2 Rui Luís

Rui Luís

  • Former Staff
  • PipPipPipPipPipPip
  • 3890 mensagens

Mensagem publicada 30 September 2014 - 16:50

Boa tarde,

 

Não sei se ainda precisas de ajuda, mas se for o caso, alguém pode dar um help?