Skip to content

Instantly share code, notes, and snippets.

@nhaarman
Created December 28, 2018 08:35
Show Gist options
  • Save nhaarman/fd129c004f34ffd953a8db1789947870 to your computer and use it in GitHub Desktop.
Save nhaarman/fd129c004f34ffd953a8db1789947870 to your computer and use it in GitHub Desktop.
MainActivity
package com.nhaarman.android2sandbox;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class MainActivity extends Activity {
static int i = 0;
static boolean done = false;
private Runnable message = new Runnable() {
@Override
public void run() {
startActivity(new Intent(MainActivity.this, MainActivity.class));
}
};
private Handler handler = new Handler();
private int mI;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
i++;
if (savedInstanceState != null) {
mI = savedInstanceState.getInt("i", i);
} else {
mI = i;
}
System.out.println("MainActivity@" + Integer.toHexString(this.hashCode()) + " onCreate (" + mI + ")");
if (i <= 21 && !done) {
handler.postDelayed(message, 100);
} else {
done = true;
}
}
@Override
public void onBackPressed() {
System.out.println("MainActivity@" + Integer.toHexString(this.hashCode()) + " onBackPressed");
i--;
super.onBackPressed();
}
@Override
protected void onDestroy() {
handler.removeCallbacks(message);
System.out.println("MainActivity@" + Integer.toHexString(this.hashCode()) + " onDestroy (" + mI + ")");
super.onDestroy();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("i", mI);
}
}
@nhaarman
Copy link
Author

Output:

12-28 09:32:15.573 I: MainActivity@40516c20 onCreate (1)
12-28 09:32:15.794 I: MainActivity@4051db40 onCreate (2)
12-28 09:32:16.084 I: MainActivity@40522618 onCreate (3)
12-28 09:32:16.274 I: MainActivity@40526cc0 onCreate (4)
12-28 09:32:16.514 I: MainActivity@4052b2d0 onCreate (5)
12-28 09:32:16.733 I: MainActivity@4052f7b8 onCreate (6)
12-28 09:32:16.914 I: MainActivity@40533be0 onCreate (7)
12-28 09:32:17.084 I: MainActivity@405380a8 onCreate (8)
12-28 09:32:17.334 I: MainActivity@4053c540 onCreate (9)
12-28 09:32:17.494 I: MainActivity@40540980 onCreate (10)
12-28 09:32:17.713 I: MainActivity@40544ea8 onCreate (11)
12-28 09:32:17.934 I: MainActivity@405493a0 onCreate (12)
12-28 09:32:18.124 I: MainActivity@4054d770 onCreate (13)
12-28 09:32:18.354 I: MainActivity@40551ce0 onCreate (14)
12-28 09:32:18.613 I: MainActivity@40556340 onCreate (15)
12-28 09:32:18.804 I: MainActivity@4055a868 onCreate (16)
12-28 09:32:19.034 I: MainActivity@4055ee48 onCreate (17)
12-28 09:32:19.284 I: MainActivity@40563428 onCreate (18)
12-28 09:32:19.563 I: MainActivity@40567ac0 onCreate (19)
12-28 09:32:19.814 I: MainActivity@4056c138 onCreate (20)
12-28 09:32:20.124 I: MainActivity@405706a8 onCreate (21)
12-28 09:32:20.124 I: MainActivity@40516c20 onDestroy (1)
12-28 09:32:20.374 I: MainActivity@40574fc0 onCreate (22)
12-28 09:32:20.683 I: MainActivity@4051db40 onDestroy (2)
12-28 09:32:25.874 I: MainActivity@40574fc0 onBackPressed
12-28 09:32:26.134 I: MainActivity@40574fc0 onDestroy (22)
12-28 09:32:26.874 I: MainActivity@405706a8 onBackPressed
12-28 09:32:27.174 I: MainActivity@405706a8 onDestroy (21)
12-28 09:32:27.753 I: MainActivity@4056c138 onBackPressed
12-28 09:32:28.054 I: MainActivity@4056c138 onDestroy (20)
12-28 09:32:28.623 I: MainActivity@40567ac0 onBackPressed
12-28 09:32:28.884 I: MainActivity@40567ac0 onDestroy (19)
12-28 09:32:29.474 I: MainActivity@40563428 onBackPressed
12-28 09:32:29.743 I: MainActivity@40563428 onDestroy (18)
12-28 09:32:30.324 I: MainActivity@4055ee48 onBackPressed
12-28 09:32:30.613 I: MainActivity@4055ee48 onDestroy (17)
12-28 09:32:31.104 I: MainActivity@4055a868 onBackPressed
12-28 09:32:31.375 I: MainActivity@4055a868 onDestroy (16)
12-28 09:32:32.064 I: MainActivity@40556340 onBackPressed
12-28 09:32:32.354 I: MainActivity@40556340 onDestroy (15)
12-28 09:32:32.954 I: MainActivity@40551ce0 onBackPressed
12-28 09:32:33.194 I: MainActivity@40551ce0 onDestroy (14)
12-28 09:32:34.124 I: MainActivity@4054d770 onBackPressed
12-28 09:32:34.404 I: MainActivity@4054d770 onDestroy (13)
12-28 09:32:35.004 I: MainActivity@405493a0 onBackPressed
12-28 09:32:35.254 I: MainActivity@405493a0 onDestroy (12)
12-28 09:32:35.844 I: MainActivity@40544ea8 onBackPressed
12-28 09:32:36.114 I: MainActivity@40544ea8 onDestroy (11)
12-28 09:32:36.713 I: MainActivity@40540980 onBackPressed
12-28 09:32:36.994 I: MainActivity@40540980 onDestroy (10)
12-28 09:32:37.603 I: MainActivity@4053c540 onBackPressed
12-28 09:32:37.864 I: MainActivity@4053c540 onDestroy (9)
12-28 09:32:38.395 I: MainActivity@405380a8 onBackPressed
12-28 09:32:38.643 I: MainActivity@405380a8 onDestroy (8)
12-28 09:32:39.354 I: MainActivity@40533be0 onBackPressed
12-28 09:32:39.593 I: MainActivity@40533be0 onDestroy (7)
12-28 09:32:40.254 I: MainActivity@4052f7b8 onBackPressed
12-28 09:32:40.504 I: MainActivity@4052f7b8 onDestroy (6)
12-28 09:32:41.124 I: MainActivity@4052b2d0 onBackPressed
12-28 09:32:41.384 I: MainActivity@4052b2d0 onDestroy (5)
12-28 09:32:42.044 I: MainActivity@40526cc0 onBackPressed
12-28 09:32:42.294 I: MainActivity@40526cc0 onDestroy (4)
12-28 09:32:42.924 I: MainActivity@40522618 onBackPressed
12-28 09:32:42.956 I: MainActivity@40586d50 onCreate (2)
12-28 09:32:43.194 I: MainActivity@40522618 onDestroy (3)
12-28 09:32:46.703 I: MainActivity@40586d50 onBackPressed
12-28 09:32:46.723 I: MainActivity@4058b810 onCreate (1)
12-28 09:32:46.974 I: MainActivity@40586d50 onDestroy (2)
12-28 09:32:49.264 I: MainActivity@4058b810 onBackPressed
12-28 09:32:49.834 I: MainActivity@4058b810 onDestroy (1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment