uptimeMillis() に関する Android ドキュメントには次のように書かれています。
ディープ スリープで費やされた時間をカウントせずに、起動からのミリ秒を返します。注: この値はときどきリセットされることがあります (それ以外の場合はラップアラウンドする前に)。
ドキュメントがこれまでにラップアラウンドすることを心配しているのは非常に奇妙に思えます. 結局、メソッドは long を返します。簡単に計算すると、ラップするのに約292,271,023年かかることがわかります!!!
それで、ドキュメントはどうなっていますか?ラップすることは本当に可能ですか?長い間、最大値に達する前に値が折り返される可能性はありますか? それはドキュメントが実際に言おうとしていることですか?もしそうなら、いつラップされますか?
[ System.currentTimeMillis()もエポックからの時間を表す long であるため、特に不可解です。しかし、Android は値のラッピングの可能性についてまったく言及していません。0 から始まる uptimeMillis の場合はなおさらです...]