Java YoutubeFragment的活动已泄漏ServiceConnection 青年受挫

Java YoutubeFragment的活动已泄漏ServiceConnection 青年受挫,java,android,android-fragments,youtube,Java,Android,Android Fragments,Youtube,大家好 我的应用程序运行良好,我从youtube上看到了视频,但当我改变方向时,我一直在看视频,但日志给了我泄漏ServiceConnection的错误 public class PlayerYouTubeFrag extends YouTubePlayerSupportFragment { public PlayerYouTubeFrag() { // TODO Auto-generated constructor stub } private St

大家好

我的应用程序运行良好,我从youtube上看到了视频,但当我改变方向时,我一直在看视频,但日志给了我泄漏ServiceConnection的错误

public class PlayerYouTubeFrag extends YouTubePlayerSupportFragment {

    public PlayerYouTubeFrag() {
        // TODO Auto-generated constructor stub
    }

    private String currentVideoID = "wKJ9KzGQq0w";
    private YouTubePlayer activePlayer;

    private int section_id;
   private Realm realm;
    public static PlayerYouTubeFrag newInstance(int section_id) {

    PlayerYouTubeFrag playerYouTubeFrag = new PlayerYouTubeFrag();

        Bundle bundle = new Bundle();
        bundle.putInt("section_id", section_id);

        playerYouTubeFrag.setArguments(bundle);

        return playerYouTubeFrag;
    }

    private void init() {
        initialize(Constants.DEVELOPER_KEY, new OnInitializedListener() {


            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
                player.setFullscreenControlFlags(0);

                if (!wasRestored) {
                    activePlayer = player;
                    //activePlayer.setFullscreen(true);
                    activePlayer.loadVideo("2zNSgSzhBfM");
                    activePlayer.play();
                }
            }

            @Override
            public void onInitializationFailure(Provider arg0,
                    YouTubeInitializationResult arg1) {
                Log.i("YouTube faillure", "Provider "+arg0.toString()+" YouTubeInitializationResult "+arg1.ordinal());
                // TODO Auto-generated method stub

            }
        });
    }   

    @Override
    public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
       init();
      return super.onCreateView(arg0, arg1, arg2);
    }


    @Override
    public void onPause() {
        super.onPause();
        activePlayer.release();
    }

    @Override
    public void onAttach(Activity activity) {
       realm = Realm.getInstance(getActivity());

        if (getArguments() != null) {
            section_id = getArguments().getInt("section_id");
            Section section = realm.where(Section.class).equalTo("id_s",section_id).findFirst();
            // appController.getSectionsDao().queryForId(section_id);
            if (section.getType().equalsIgnoreCase("video")) {
                String pattern = "(?<=watch\\?v=|v\\/|/videos/|embed\\/)[^#\\&\\?]*"; // "(?<=watch\\?v=|/videos/|embed\\/)[^#\\&\\?]*" // "\b(?<=v.|/)[a-zA-Z0-9_-]{11,}\b"
                Pattern compiledPattern = Pattern.compile(pattern);
                Matcher matcher = compiledPattern.matcher(section.getRoot_url());

              if(matcher.find())
                {
                    currentVideoID = matcher.group();
                }
            }
        }
        ((MainActivity) getActivity()).extras = getArguments();

        super.onAttach(activity);
    }    

}
公共类PlayerYouTubeFrag扩展了YouTubePlayerSupportFragment{
公共游乐场{
//TODO自动生成的构造函数存根
}
私有字符串currentVideoID=“WKJ9KZGQ0W”;
私人YouTubePlayer activePlayer;
私人int部分(id);
私人领域;
public static PlayerYouTubeFrag newInstance(int section_id){
PlayerYouTubeFrag PlayerYouTubeFrag=新的PlayerYouTubeFrag();
Bundle=新Bundle();
bundle.putInt(“section\u id”,section\u id);
playerYouTubeFrag.setArguments(bundle);
返回playerYouTubeFrag;
}
私有void init(){
初始化(Constants.DEVELOPER_键,新的OnInitializedListener(){
@凌驾
public void onInitializationSuccess(YouTubePlayer.Provider提供程序、YouTubePlayer播放器、布尔值已还原){
player.setFullscreenControlFlags(0);
如果(!已还原){
activePlayer=player;
//activePlayer.setFullscreen(真);
activePlayer.loadVideo(“2zNSgSzhBfM”);
activePlayer.play();
}
}
@凌驾
public void onInitializationFailure(提供程序arg0,
YouTube初始化结果(arg1){
Log.i(“YouTube faillure”,“Provider”+arg0.toString()+“YouTubeInitializationResult”+arg1.ordinal());
//TODO自动生成的方法存根
}
});
}   
@凌驾
创建视图的公共视图(布局工具arg0、视图组arg1、捆绑包arg2){
init();
返回super.onCreateView(arg0、arg1、arg2);
}
@凌驾
公共无效暂停(){
super.onPause();
activePlayer.release();
}
@凌驾
公共事务主任(活动){
realm=realm.getInstance(getActivity());
如果(getArguments()!=null){
section_id=getArguments().getInt(“section_id”);
Section Section=realm.where(Section.class).equalTo(“id_s”,Section_id).findFirst();
//appController.getSectionsDao().queryForId(section\u id);
if(section.getType().equalsIgnoreCase(“视频”)){

String pattern=“(?“我发现的东西对我不起作用”你能说说你发现了什么,以及它以什么方式对你不起作用吗?“我在onPause中添加了这个版本,但没有结果。”你能说说你在哪里找到使用这个的建议吗?还有什么是“没有结果”的"意思是?首先,谢谢你的时间,我的意思是,即使我在更改方向时添加了player的版本,我也遇到了相同的错误:应用程序运行良好,但日志猫给了我错误,我在堆栈中发现了错误,但情况不同,希望你能在这里给我一些帮助,如果你真的不想,我对android的生命周期还不够熟悉。我能做的一切假设您有一个代码路径,其中引用没有被释放。