安卓fragment无法用replace()方法替换fragment

新手问题,为什么执行FragmentTransaction.replace()替换fragment会出错?

import androidx.appcompat.app.AppCompatActivity;
import android.app.FragmentManager;
import android.os.Bundle;
import com.baidu.mapapi.map.TextureMapFragment;

public class MainActivity extends AppCompatActivity  {

    FragmentManager manager;
    //百度地图fragment
    TextureMapFragment textureMapFragment;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        manager = getFragmentManager();
        textureMapFragment=(TextureMapFragment)manager.findFragmentById(R.id.fragment);
        TextureMapFragment textureMapFragment2=TextureMapFragment.newInstance();

        //执行replace()或remove()会报错?
            manager.beginTransaction().replace(R.id.framelayout,textureMapFragment2).commit();
    }
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <FrameLayout
        android:id="@+id/framelayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <fragment
            android:id="@+id/fragment"
            android:name="com.baidu.mapapi.map.TextureMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </FrameLayout>

</LinearLayout>

报错信息截图:

详细报错信息:

06-09 05:24:50.989 4119-4119/com.cxl.wuzhen E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.cxl.wuzhen, PID: 4119
    java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@3dd19a4a
        at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1282)
        at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:599)
        at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:538)
        at android.widget.ImageView.onDraw(ImageView.java:1158)
        at android.view.View.draw(View.java:15231)
        at android.view.View.updateDisplayListIfDirty(View.java:14167)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.draw(View.java:15234)
        at android.view.View.updateDisplayListIfDirty(View.java:14167)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.updateDisplayListIfDirty(View.java:14162)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.View.draw(View.java:14959)
        at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198)
        at android.view.View.draw(View.java:15234)
        at android.widget.FrameLayout.draw(FrameLayout.java:598)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2650)
        at android.view.View.updateDisplayListIfDirty(View.java:14167)
        at android.view.View.getDisplayList(View.java:14189)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:318)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:2530)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2352)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1982)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
        at android.view.Choreographer.doCallbacks(Choreographer.java:580)
        at android.view.Choreographer.doFrame(Choreographer.java:550)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
    	at android.os.Looper.

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^