三星S4 Home键延迟的问题该怎么解决

2020-04-17 18:28:28 手机教程

  三星Galaxy S4虽然是一款硬件配置很高的智能手机,但是在使用的过程中偶尔会出现Home键返回主屏幕出现延迟1到2秒的情况发生,这种问题应该不是硬件的问题,那么该如何解决这种延迟的现象呢?

  我们现在来分析一下从点击HOME键到显示主屏界面的这个过程,它可以分为两个部分,具体如下:

  1. 由于三星手机点击两下HOME键启动语音搜索功能,系统将等待下一次点击0.5秒时间。(这个应该三星手机才有这种情况)

  2. 然后第二个部分,启动器需要加载时间,过程大概是0.3-0.5秒,这个过程所用的时间取决于正在运行的程序。

  HOME键0延迟的解决方法:

  1、用baksmali反编译android.policy.jar (framework 文件夹里)

  2、打开comandroidinternalpolicyimplPhoneWindowManager.smali 找到3896-3922行,他们看上去应该是如下的这个样子:

  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

  将上面所有内容全部删除

  3、找到3920-3922行代码,如下:

  invoke-virtual {v4, v5}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

  .line 1294

  用下面的代码代替这两行 (第一行和最后一行的代码是原来的):

  invoke-virtual {v4, v5}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

  move-object/from16 v0, p0

  iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHomePressed:Z

  move v4, v0

  if-eqz v4, :cond_2

  invoke-virtual/range {p0 .. p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->launchHomeFromHotKey()V

  .line 1294

  4、注意,找到3933行代码,如果不是 "cond_2",那么用第3933行代码替换"if-eqz v4, :cond_2"中的"cond_2"

  5、然后回编译即可。

  注意事项:

  1. 这些代码的行数随着不同的系统版本也会有差别,具体的请自己搜索。

  2. 上述修改之后,双击HOME键将不会进入声音搜索功能。

相关阅读

查看更多