Eu possuo um Samsung Galaxy S Relay 4G executando o Android 4.1.2. Além disso, tenho adb instalado em um PC.
Quando pressiono o botão Liga / Desliga e toque em "Reiniciar", meu telefone leva cerca de dez segundos para desligar. Então ele se reinicia.
Quando entro adb reboot, o telefone é desligado muito mais rápido: o desligamento leva apenas um segundo. Então ele é reiniciado.
Minhas perguntas:
Por que é
adb rebootmuito mais rápido?É simplesmente pular a animação de desligamento da operadora de rede móvel ou também pular alguns procedimentos mais importantes?
Posso usar
adb rebootsempre que quiser reiniciar o telefone ou há alguma desvantagem em fazer isso?(Opcional) Como você sabe?
Mais informações (você pode pular isso)
Eu fiz algumas pesquisas antes de postar esta pergunta. Mas ainda não sou iluminado. Deixe-me mostrar o que eu queria descobrir.
Tetsuyuki Kobayashi, da Kyoto Microcomputer Co., explica no slide 8 desta apresentação de slides em PDF que o adb consiste em três partes: um cliente, um servidor e um daemon. O cliente e o servidor são executados em um PC. O daemon é executado em um telefone. No slide 11, ele explica que as três partes são criadas a partir de um diretório de origem. (É este diretório .)
Tentei pesquisar no diretório de origem a palavrareboot e ler partes dos services.cpp , mas ainda não consegui descobrir o que adb rebootrealmente faz, ou quais bytes ele envia por fio, ou qual código o telefone executa quando ele é executado. recebe esses bytes. Também não descobri a resposta para nenhuma das minhas perguntas.
Relacionado : "Qual é a melhor maneira de reiniciar o Android via linha de comando (remotamente)?"
setprop sys.powerctl rebootfaria. Um desligamento imundo seguido pela instrução para reiniciar novamente.