Search code examples
javaandroidmultithreadingandroid-activityapplication-start

Activity start too long


Hello I have a problem with opening Activity.

I'm calling startActivity() with Intent by clicking Button.

I need to wait 4-5 seconds before Activity shows up on the screen.

I know how to do.

itemimg = new ItemsInPacagesImageView(imglist1, this, nazovtripu, 0);

I have 17 times similar code (with other ImageViews) I have this in Method with name InitItemimg();

I tried put this method on OnStart activity with this thread

@Override
public void onStart() {
    super.onStart();

    timer = new Thread() { // new thread
        public void run() {
            Boolean b = true;
            try {
                sleep(20);

                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                // TODO Auto-generated method stub
                               InitItemimg();;
                            }

                        });
            } catch (InterruptedException e) {
                e.printStackTrace();
            } finally {
            }
        }
    };
    timer.start();

}

But is no resolve my problem, please do you have some ideas? Thanks


Solution

  • excuse me, I figured so in this method (ItemsInPacagesImageView(imglist1, this, nazovtripu, 0);) on start id deserialization if is some deserialization in row is "fast" but if it's more in row (now 17) with deserialization program spend more time some seconds.

    I resolve this problem with put explicit, class which i deserialization in method.

    Now i deserialization once instead 17 times. and I safe more miliscond-seconds.