日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android.os.SystemClock

發布時間:2023/12/2 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android.os.SystemClock 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.linuxidc.com/Linux/2011-11/48325p2.htm

文檔中對System.currentTimeMillis()進行了相應的描述,就是說它不適合用在需要時間間隔的地方,如Thread.sleep, Object.wait等,因為可以通過System.setCurrentTimeMillis來改變它的值。

要用時間間隔,推薦使用SystemClock中的相關方法。

Java代碼??
  • SystemClock.currentThreadTimeMillis();?//?在當前線程中已運行的時間??
  • SystemClock.elapsedRealtime();?//?從開機到現在的毫秒書(手機睡眠(sleep)的時間也包括在內)??
  • SystemClock.uptimeMillis();?//?從開機到現在的毫秒書(手機睡眠的時間不包括在內)??
  • SystemClock.sleep(100);?//?類似Thread.sleep(100);但是該方法會忽略InterruptedException??
  • SystemClock.setCurrentTimeMillis(1000);?//?設置時鐘的時間,和System.setCurrentTimeMillis類似??
  • ??
  • //?時間間隔??
  • long?timeInterval?=?SystemClock.uptimeMillis()?-?lastTime;??
  • //?do?something?with?timeInterval??
  • SystemClock.currentThreadTimeMillis();?//?在當前線程中已運行的時間???
  • SystemClock.elapsedRealtime();?//?從開機到現在的毫秒書(手機睡眠(sleep)的時間也包括在內)???
  • SystemClock.uptimeMillis();?//?從開機到現在的毫秒書(手機睡眠的時間不包括在內)???
  • SystemClock.sleep(100);?//?類似Thread.sleep(100);但是該方法會忽略InterruptedException???
  • SystemClock.setCurrentTimeMillis(1000);?//?設置時鐘的時間,和System.setCurrentTimeMillis類似???
  • ??
  • //?時間間隔???
  • long?timeInterval?=?SystemClock.uptimeMillis()?-?lastTime;??
  • //?do?something?with?timeInterval??
  • android.os.PowerManager
    PowerManager的flag的意思:

    Java代碼
  • //?PowerManager的一般用法,請求和釋放喚醒鎖??
  • PowerManager?powerMgr?=?(PowerManager)??
  • ????????getSystemService(Context.POWER_SERVICE);??
  • int?flags?=?PowerManager.SCREEN_BRIGHT_WAKE_LOCK?|?PowerManager.ACQUIRE_CAUSES_WAKEUP;??
  • WakeLock?wakeLock?=?powerMgr.newWakeLock(flags,?"for?debug?purpose?tag");??
  • wakeLock.acquire();?//?獲取喚醒鎖??
  • wakeLock.release();?//?釋放喚醒鎖??
  • //?在游戲中,會將acquire放在onResume中;將release放在onPause,這樣在程序運行時就可以保持屏幕常量;在程序處在后臺時,就恢復原來的設置。??
  • ??
  • ??
  • //?PowerManager的其它api的使用??
  • powerMgr.goToSleep(SystemClock.uptimeMillis()?+?100);?//?100ms后進入睡眠??
  • powerMgr.isScreenOn();?//?屏幕是否亮著??
  • powerMgr.userActivity(SystemClock.uptimeMillis()+100,?true);?//?相當于按home鍵,會引起從睡眠激活??
  • ??
  • ??
  • //?WakeLock的其它api??
  • wakeLock.acquire(1000);?//?獲取喚醒鎖,并在1000ms后釋放??
  • wakeLock.isHeld();?//?當前是否持有喚醒鎖??
  • //?是否使用引用計數,默認是啟用的。引用計數應該就是第一次請求為1,第二次加1,再一次再加1。??
  • //?在釋放時,只有引用計數為0時才被視為完全釋放(所以要多次調用release)??
  • wakeLock.setReferenceCounted(true);???
  • //?PowerManager的一般用法,請求和釋放喚醒鎖???
  • PowerManager?powerMgr?=?(PowerManager)??
  • ????????getSystemService(Context.POWER_SERVICE);??
  • int?flags?=?PowerManager.SCREEN_BRIGHT_WAKE_LOCK?|?PowerManager.ACQUIRE_CAUSES_WAKEUP;??
  • WakeLock?wakeLock?=?powerMgr.newWakeLock(flags,?"for?debug?purpose?tag");??
  • wakeLock.acquire();?//?獲取喚醒鎖???
  • wakeLock.release();?//?釋放喚醒鎖???
  • //?在游戲中,會將acquire放在onResume中;將release放在onPause,這樣在程序運行時就可以保持屏幕常量;在程序處在后臺時,就恢復原來的設置。???
  • ??
  • ??
  • //?PowerManager的其它api的使用???
  • powerMgr.goToSleep(SystemClock.uptimeMillis()?+?100);?//?100ms后進入睡眠???
  • powerMgr.isScreenOn();?//?屏幕是否亮著???
  • powerMgr.userActivity(SystemClock.uptimeMillis()+100,?true);?//?相當于按home鍵,會引起從睡眠激活???
  • ??
  • ??
  • //?WakeLock的其它api???
  • wakeLock.acquire(1000);?//?獲取喚醒鎖,并在1000ms后釋放???
  • wakeLock.isHeld();?//?當前是否持有喚醒鎖???
  • //?是否使用引用計數,默認是啟用的。引用計數應該就是第一次請求為1,第二次加1,再一次再加1。???
  • //?在釋放時,只有引用計數為0時才被視為完全釋放(所以要多次調用release)???
  • wakeLock.setReferenceCounted(true);? ?
  • 轉載于:https://www.cnblogs.com/bluestorm/p/9436569.html

    總結

    以上是生活随笔為你收集整理的Android.os.SystemClock的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。