首先界面布局大概如下 在一个activity中有一个viewpager 包含了两个fragment在第二个fragment中 又有一个viewpager包含了三个fragment,在第二个viewpager所包含的第一个Fragment xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<!--歌单fragment布局-->
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<RelativeLayout
android:id="@+id/song_list_head_relative"
android:layout_width="match_parent"
android:layout_height="144dp">
<ImageView
android:id="@+id/song_list_head_img"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:scaleType="fitXY"/>
<TextView
android:id="@+id/song_list_jpgd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:layout_toEndOf="@id/song_list_head_img"
android:drawableEnd="@drawable/ic_fr_song_list_qj"
android:drawableStart="@drawable/ic_fr_song_list_hg"
android:gravity="center_vertical"
android:maxLines="1"
android:text="精品歌单"
android:textColor="#ffffff"
android:textSize="18sp"/>
<TextView
android:id="@+id/song_list_playlistname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/song_list_jpgd"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_toEndOf="@id/song_list_head_img"
android:gravity="center_vertical"
android:maxEms="16"
android:maxLines="1"
android:textColor="#ffffff"
android:textSize="16sp"/>
<TextView
android:id="@+id/song_list_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/song_list_playlistname"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_toEndOf="@id/song_list_head_img"
android:gravity="center_vertical"
android:maxEms="14"
android:maxLines="1"
android:textSize="14sp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/song_list_relative"
android:layout_width="match_parent"
android:layout_height="56dp">
<Button
android:id="@+id/song_list_relative_type_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:drawableEnd="@drawable/ic_songtype_right_img"
android:text="全部"
android:textColor="#707070"/>
<TextView
android:id="@+id/song_list_relative_qing_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="16dp"
android:clickable="true"
android:text="轻音乐"
android:textSize="17sp"/>
<TextView
android:id="@+id/song_list_relative_gufeng_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="16dp"
android:layout_toStartOf="@id/song_list_relative_qing_tv"
android:clickable="true"
android:text="古风"
android:textSize="17sp"/>
<TextView
android:id="@+id/song_list_relative_huayu_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="16dp"
android:layout_toStartOf="@id/song_list_relative_gufeng_tv"
android:clickable="true"
android:text="华语"
android:textSize="17sp"/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/song_list_rec"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:nestedScrollingEnabled="false"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
当我一旦滑动到这个界面时内存就开始狂飙 同时log显示后台一直在触发GC,但是当我把上面的xml布局代码最外层的NestedScrollView删除掉,其他所有代码都不更改,发现没有产生内存泄漏问题。请大家帮我解答一下问题。。
ps:当发生内存泄漏时 Leakcanary并没有提示。
log GC如下
memory图片如下