2010-01-26 15 views
26

Bir uygulama için maksimum iplik numarası hakkında bilmek istiyorum.Bir uygulama için maksimum iplik numarası?

Sen Thread.activeCount() çalıştıran Konudaki grubuna ve alt gruplarının aktif Konular sayısını döndürür biliyoruz. Geçerli aktiviteye oluşturmak için ipliklerin maksimum sayıda bilebilirsem

, bir aktif mesajları sınırlayabilir.

ben http bağlantısı için iplik kullanarak ve HTTP yanıtı yakalıyorum.

Şimdiden teşekkürler.

+3

Cevabı buldunuz mu? AsyncTask büyük –

cevap

20

ben farkındayım kod tarafından zorlanan hiçbir sınırı yoktur. Ağ aygıtları I/O için bile olsa, Android cihazların CPU hızı oldukça küçük olduğundan ve RAM oldukça sınırlı olduğundan, azalan getiriler oldukça hızlı bir şekilde ayarlanacaktır.

yerine kendi parçacığı AsyncTask kullanmayı deneyin. Bu, Android tarafından oluşturulmuş bir iş parçacığı havuzu kullanır ve bu nedenle çekirdek Android ekibinin platform için etkili olduğuna inandığı bir havuz boyutunu kullanır.

+0

, tek sorun bazı Android sürümlerinde sen (görevler seri yürütülür) paralel çalışan iki görevi olamaz ancak diğer sürümlerinde yapabilirsiniz olmasıdır. AsyncTask'ı kaynak kodundan yeniden yazmak dışında bunun için bir düzeltme var mı? – Tomasz

+6

@Tomasz: "AsyncTask 'ı kaynak kodundan yeniden yazmanın yanı sıra bunun için herhangi bir düzeltme var mı?" - 'THREAD_POOL_EXECUTOR' seçeneğine geçmek için API Level 11+ üzerinde executeOnExecutor() 'ı kullanın. – CommonsWare

+1

Veya özel görevler için ThreadPoolExecutor kullanın, orada daha fazla kontrol var. –

İlgili konular