Android, wykonanie algorytmu

0

Witam,
Otóż mam napisaną aplikacje z obsługą kamery i wykonaniem algorytmu.
Dokładniej:
Wczytuje sobie za pomocą kamery układ kostki Rubika i wykonuje na tym układzie algorytm,
który owa kostkę rozwiązuję.
Problem jest w tym wszystkim tego typu że za pierwszym razem gdy szukam rozwiązania
to aplikacja szuka ok 5 min rozwiązania dla nawet najprostszego układu kostki, natomiast
gdy po raz drugi będę chciał znaleźć rozwiązanie to nawet da najbardziej skomplikowanego układu
zajmuje to milisekundy i działa to szybciej niż na mocnym PC.

Tutaj moje pytanie do osób które wiedzą więcej ode mnie na temat androida,
czym to może być spowodowane i jak to można naprawić.

0

Pewnie masz coś źle w kodzie

0

Z algorytmem jest wszystko ok. Wywołuje tylko jedna metode np. wynik() z parametrem wejściowym aktualnego układu kostki
A kod aplikacji działa bez zadnych problemow. Nawet gdy wynik algorytmu zechce przypisac tylko do zmiennej zajmuje to za pierwszym razem duzo czasu a każda następna próba działa błyskawicznie.
Dokładnie to chodzi o sam czas wykonania algoytmu za pierwszym i każdym kolejnym razem

0

Bez kodu to my Ci nic nie poradzimy.

0

Link do GIT'a z kodem

https://github.com/Mazek27/RobotControll

Wywołanie algorytmu w 255 linijce CameraIntentActivity

0

Ja to bym przede wszystkim wyniósł to z wątku głównego. Napisz se prostego AsyncTaska.

Jeżeli chodzi o to że za pierwszym razem robi sie jakoś strasznie długo a później szybko, to strzelam że gdzieś masz inicjalizacje czegoś ciężkiego, co musi się raz a dobrze zrobić, a przy następych próbach korzysta już z tego samego, ale nie chciało mi się aż tak zagłębiać w Twój kod

pzdr

1 użytkowników online, w tym zalogowanych: 0, gości: 1