Android startActivityForResult非常慢

Android startActivityForResult非常慢,android,android-intent,Android,Android Intent,我正在使用startActivityForResult(intent,0)调用一个活动,然后在更改日历视图时设置“我的活动”的结果,然后finish()取消活动。但是当我调用startActivityForResult()时加载活动需要花费很长时间。以下是我如何启动第二个活动: 在oncreate中: calendar = new Intent(Intent.ACTION_GET_CONTENT).setClass(this, CalendarShow.class); 并以一种放纵的姿态:

我正在使用
startActivityForResult(intent,0)调用一个活动,然后在更改日历视图时设置“我的活动”的结果,然后
finish()取消活动。但是当我调用
startActivityForResult()时加载活动需要花费很长时间。以下是我如何启动第二个活动:
在oncreate中:

calendar = new Intent(Intent.ACTION_GET_CONTENT).setClass(this, CalendarShow.class);
并以一种放纵的姿态:

  @Override
        public boolean onFling(MotionEvent event1, MotionEvent event2, 
                float velocityX, float velocityY) {
                                startActivityForResult(calendar, 0);

            return true;
        }
下面是第二个活动的代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
        setContentView(R.layout.activity_calendar_show);
        CalendarView v = new CalendarView(this);
        Intent intent = getIntent();
        v.setFocusedMonthDateColor(Color.BLACK);
        v.setUnfocusedMonthDateColor(Color.GRAY);
        v.setSelectedWeekBackgroundColor(Color.TRANSPARENT);
        v.setWeekNumberColor (Color.TRANSPARENT);
        v.setLayoutParams(new RelativeLayout.LayoutParams(400, 400));
        v.setId(99);
        v.setOnDateChangeListener(new OnDateChangeListener(){

            @Override
            public void onSelectedDayChange(CalendarView view, int year,
                    int month, int dayOfMonth) {
                Intent ret = new Intent();
            ret.putExtra("year", year);
            ret.putExtra("month", month);
            ret.putExtra("day", dayOfMonth);
            setResult(RESULT_OK, ret);
            finish();
            overridePendingTransition(R.anim.slide_in_up2, R.anim.slide_out_up2);
        }

    });
        RelativeLayout layout = (RelativeLayout)findViewById(R.id.calendarLayout);
        layout.addView(v);
    }
编辑:
我试着正常启动活动,但没有结果,但仍然很慢。

好的,所以你不应该以一种放纵的姿势启动活动,当你这样做时,加载需要很长时间,因此,您可以将活动更改为片段。

能否显示正在启动的活动的代码?在不重写EndingTransition的情况下是否也很慢?@lelloman第二个活动启动时速度很慢。我将去掉overridePendingTransition,看看它是怎样的。@lelloman不,在我调用该方法和活动开始之间仍然有5秒的延迟。5秒似乎太长了,除非你在模拟器上尝试,这可能非常慢