androidActivity跳转另一个ActivityB,这个Actiivty加载了一个fragment,fragment是显示的百度导航路线规划,导致黑屏了一两秒,然后才出现fragment
时间: 2023-12-07 14:02:41 浏览: 37
百度导航需要进行路线规划和地图加载等操作,这些操作同样会占用一些时间。建议在 Activity 加载时就进行路线规划和地图的初始化操作,这样可以减少黑屏时间。可以参考以下代码:
```java
public class ActivityB extends AppCompatActivity {
private BaiduMap mBaiduMap = null;
private MapView mMapView = null;
private RoutePlanSearch mRoutePlanSearch = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
// 初始化地图
mMapView = (MapView) findViewById(R.id.bmapView);
mMapView.onCreate(savedInstanceState);
mBaiduMap = mMapView.getMap();
// 初始化路线规划
mRoutePlanSearch = RoutePlanSearch.newInstance();
mRoutePlanSearch.setOnGetRoutePlanResultListener(new OnGetRoutePlanResultListener() {
@Override
public void onGetDrivingRouteResult(DrivingRouteResult result) {
// 处理路线规划结果
}
@Override
public void onGetWalkingRouteResult(WalkingRouteResult result) {
// 处理路线规划结果
}
@Override
public void onGetTransitRouteResult(TransitRouteResult result) {
// 处理路线规划结果
}
@Override
public void onGetMassTransitRouteResult(MassTransitRouteResult result) {
// 处理路线规划结果
}
@Override
public void onGetBikingRouteResult(BikingRouteResult result) {
// 处理路线规划结果
}
});
// 显示地图和路线规划结果
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
NavigationFragment navigationFragment = new NavigationFragment();
transaction.add(R.id.fragment_container, navigationFragment);
transaction.commit();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
mRoutePlanSearch.destroy();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mMapView.onSaveInstanceState(outState);
}
}
```
其中,`MapView` 是百度地图的控件,需要在 `onCreate` 方法中进行初始化,`NavigationFragment` 是显示百度导航路线规划的 Fragment。在 Activity 的生命周期中,需要分别调用 `onResume`、`onPause`、`onDestroy`、`onSaveInstanceState` 方法来管理地图和路线规划的生命周期。在路线规划结果返回后,需要在回调函数中进行处理。