As Erel has already stated, you need to only execute that code when FirstTime is True. You need to be aware of the activity lifecycle, which Erel has given you a link to, which I was going to recommend reading as well, when I first read your OP.
In addition to this, either you need to store and restore the information (if stored in local variables) or store them in global variables, which goes against traditional programming practice, but works well for Android Apps. Not only will the information be readily available, it should also use less memory for the lifecycle of the device, as it's only defined and used once, as opposed to many times. Quite often re-defining variables seems to use up more and more memory as the garbage collector struggles to keep up with the definition and use of those variables.