В моем приложении у меня есть 6 Arrays
, который следует обновлять каждый раз, когда начинается моя основная деятельность. Теперь все они обновлены главным потоком, и это приводит к ухудшению скорости моего приложения. Вот моя dbUpdate()
функции:Параллельное выполнение функций в основном классе android
private void dbUpdate(){
dateDB = getDateValues();
valueDB = getValues();
catDB = getCatValues();
catIndexDB = getCatIndex();
catExpenseDB = getCatExpense();
catLimitDB = getCatLimits();
}
Эти массивы не имеет зависимости от eath другой, и я хочу, чтобы обновить их 6 параллельного потоком. Я прочитал this статьи и попытался поместить каждый массив get
функцию в Runnable
:
Runnable run6 = new Runnable(){
@Override
public void run(){
catLimitDB = getCatLimits();
}
};
Так что теперь у меня есть шесть Runnable
и один Handler
и я изменил мою dbUpdate()
функции:
private void dbUpdate(){
hand.post(run1);
hand.post(run2);
hand.post(run3);
hand.post(run4);
hand.post(run5);
hand.post(run6);
}
Но когда я бегу мое приложение не чувствую никакой разницы. Может кто-то помочь мне с этим? И я должен упомянуть, что это мой первый опыт программирования multithread
.
Ну, я не совсем уверен, но если вы ставите их на одного обработчика, все они будут в этой новой теме и займут столько же времени. Единственная разница в том, что они не связаны с потоком пользовательского интерфейса. Скажите мне, если я ошибаюсь, но я бы пошел на 6 разных потоков и посмотрел, помогает ли это – Yorrd
, откуда берутся эти значения? – mmlooloo
@Yorrd ok Я даю ему попробовать спасибо – A23149577