I would like to avoid the black screen between activities when the back button is pressed.
If I kill an activity with killProcess I obtain the same result.
android.os.Process.killProcess(android.os.Process.myPid());
I would prefer not to have to use AsyncTask. I call the activity through an intent in an activityforresult.
The black screen is usually sign that the layout is not yet initialized. traceview your app to see the time it takes before each layout load.
In other terms your activity is still trying to load the layout. Depending on the hierarchy and complexity it can take a lot of time especially if you have processing stuff before you set the content view or initialize the views.
i am 100 sure that there is your issue.
use async tasks to properly handle loading and processing tasks.
Use finish and never kill tasks manually. the activity has a lifecycle which should be followed.