Skocz do zawartości
Marcin

[FIX] Zmniejszenie laga przy naciśnięciu przycisku home

    Rekomendowane odpowiedzi

    Marcin

    Na xda pojawił się mod odnośnie laga pojawiającego się przy uruchomieniu wyświetlacza za pomocą przycisku home.

    Niestety z angielskim u mnie słabo i nie podejmę się tłumaczenia ale może ktoś zrobi to za mnie ;)

    Paczka do instalacji przez CWM decrease home button lag.zip - i9100 - Galaxy S 2 - djmarco83 - ch***l

    Hi all, hope this is the right forum.

    This thread is meant for ROM cooks only!

    Let's start: I found a way to decrease the home button lag and would like to share this fix with you.

    Some theory first:

    The way from home button click to the home screen can be separated in two parts:

    1. System will wait about 0.5s for another tap. This is due to the double click to voice-search feature, Samsung implemented. You won't find this lag on any other phone.
      The good news is, that we can avoid it with some changes in framework.
    2. The second part is the time the launcher needs to load. It's about 0.3 - 0.5 sec, depending on which app is currently running.

    Now to the fix:

    1. You have to decompile android.policy.jar (framework folder) using baksmali.
    2. Open com\android\internal\policy\impl\PhoneWindowManager.smali and search for lines 3896 to 3922. They should look like this:
          const/4 v4, 0x3
      
         move/from16 v0, p4
      
         move v1, v4
      
         if-ne v0, v1, :cond_1
      
         .line 1279
         move-object/from16 v0, p0
      
         iget-object v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHomeKeyDoubleClickConcept:Lcom/android/internal/policy/impl/PhoneWindowManager$HomeKeyDoubleClickConcept;
      
         move-object v4, v0
      
         move-object v0, v4
      
         move/from16 v1, p2
      
         move/from16 v2, p7
      
         move v3, v13
      
         invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/policy/impl/PhoneWindowManager$HomeKeyDoubleClickConcept;->addAction(IIZ)V
      
         .line 1288
         :cond_1
      


      Delete all of these lines.

    3. Now go a few lines deeper to lines 3920 - 3922. They should be
          invoke-virtual {v4, v5}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
      
         .line 1294


      Replace these two lines with:

          invoke-virtual {v4, v5}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
      
      [color="SeaGreen"]    move-object/from16 v0, p0
      
         iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHomePressed:Z
      
         move v4, v0
      
      [color="Red"]    if-eqz v4, :cond_2[/color]
      
         invoke-virtual/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->launchHomeFromHotKey()V[/color]
      
         .line 1294


      (Note that the first and last line are the original ones.)

    4. Warning: take a look at line 3933. If it is not ":cond_2", you have to replace the cond_2 in "if-eqz v4, :cond_2" with the cond from line 3933.
      It looks like the naming sceme depends on the baksmali version you're using.
    5. Now recompile with smali and you're done :)

    Some notes:

    1. The device will no longer wait for double clicks of home key. This means, that the voice-search obviously can no longer be started with a double-tap on home key.
    2. You will still notice some lag on home key. That's the time the home launcher needs to load. Try it from within the launcher (for example in the app chooser) and it will react instant. It should now be comparable to any other phone.
    3. The given line-numbers are from a KH3 ROM. The numbers may change in future roms.
    4. I would call this fix "experimental". I tested it for a few days without any issues, but I can't guarantee that it is bug free.
      The problem is, that Samsung made the single click listener depend on the double click listener, so removing the double-click listener might cause some problems.

    That's it. I hope, I could help you :cool:

    Tłumaczenie by mark

    siema.

    spróbowałem przetłumaczyć tekst o fix na laga po wciśnięciu home button. nie mogę zagwarantować że nie strzeliłem gafy. ale możesz tak orientacyjnie to wrzucić, może komuś się przyda.

    Siema wszystkim, mam nadzieję, że to właściwe forum.

    Wątek tylko dla kucharzy!

    Zaczynajmy: Znalazłem sposób na zmniejszenie laga po kliknięciu przycisku home i chciałbym się z wami nim podzienić.

    Najpierw trochę teorii:

    Droga po wciśnięciu przycisku home do ekranu domowego jest podzielona na kilka części:

    1.System musi poczekać około 0.5s na drugie kliknięcie. Wynika to z opcji podwójnego kliknięcia dla voice-search, który Samsung zaimplementował. Nie znajdziesz tego laga na żadnym innym telefonie.

    Dobra wiadomość jest taka, że możemy tego uniknąć kilkoma zmianami we frameworku.

    2. Drugą cześcią jest czas jaki launcher potrzebuje na załadowanie. To około 03-0.5 sekundy, w zależności od ilości aplikacji jaka jest teraz uruchomiona.

    Jak naprawić:

    1. Musisz dekompilować android.policy.jar (framework folder) używając baksmali.

    2. Otwórz com\android\internal\policy\impl\PhoneWindowManage r.smali i odszukaj linie 3896 do 3922. Powinno być coś takiego:

    /kod/

    usuń te linie.

    3. Teraz zejdź kilka niżej do linii 3920 - 3922. Powinno być

    /kod/

    zastąp te dwie linie:

    /kod/

    (zauważ, że pierwsza i ostatnia linia są oryginalne.)

    4. Uwaga, przyjżyj się linii 3933. Jeśli nie jest to ":cond_2",musisz zastąpić cond_2 w "if-eqz v4, :cond_2" z cond z linii 3933.

    Wygląda jak nazwa sceme (?) zależnej od tego jakiej wesji baksmali używasz.

    5. Teraz skompiluj z smali i gotowe.

    kilka uwag.

    1. Użadzenie już nie będzie czekać na podwójne kliknięcie przycisku home. Oznacza to, że użycie voice-search poprzeż dwukrotnie kliknięcie przycisku home będzie niemożliwe.

    2. Dalej będziesz zauważać pewne opóźnienia. To jest czas, jaki launcher poprzebuje na rozruch. Spróbuj tego bez launchera (np. w wyborze aplikacji) i będzie reagować natychmiast. Teraz powinno być porównywalne z innymi telefonami.

    3. Numery linii pochodzą z romu KH3 i mogą ulec zmianie w przyszłych romach.

    4. Wolę ten fix nazywać eksperymentalnym. Testowałem go kilka dni bez żadnych problemów, ale nie mogę dać gwarancji że jest wolny od błędów.

    5. Problemem jest to, że Samsung zrobił detekcje jednego kilknięcia zależnego od podwójnego kliknięcia, więc usunięcie podwójnego kliknięcia może powodować pewne problemy.

    To wszystko. Mam nadzieję, że mogłem pomóc.

    Edytowane przez Marcin

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Budus

    poza instalacją paczki przez CWM coś trzeba zrobić ? jeśli nie to u mnie to nie działa...

    a jeśli trzeba ktoś przetłumaczy to ? :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Z tego co wyczytałem to temat jest dla kucharzy i wymaga modyfikacji w jakiś plikach systemowych. Już zapowiedzieli że w następnej wersji cognition będzie zaimplementowane. Jako że stoję samochodem w korku;) to nie jestem w stanie przetłumaczyć całości.

    Sent from my GT-I9100 using Tapatalk

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Marcin

    paczka pod CWM jest wyciągnięta z kuchni leomara. Na tym romie to u mnie działało. Teraz mam rom sensation

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x