单例的实现

/*
 *DanLi
 * 整个软件生命周期,有且只有一个实例
 */
public class DanLi : MonoBehaviour
{
    //继承于MonoBehaviour的类单例
    public static DanLi instance;
    private void Awake()
    {
        instance = this;
    }

}
//非继承于MonoBehaviour的类单例
public class TestSingle {
    private static TestSingle instance;
    public static TestSingle Instance {
        get{
            if (instance == null)
            { instance = new TestSingle();     
            }
            return instance;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中MediaPlayer是一个用于播放音频和视频的类,可通过实例化对象来使用。但有时候我们需要在不同的组件或类中共享同一个MediaPlayer实例,这时就可以使用单例模式来实现。 在实现MediaPlayer单例之前,我们首先要明确单例模式的概念。单例模式是一种设计模式,保证一个类仅有一个实例,并提供一个全局访问点。在Android中,可以使用静态变量和静态方法来实现单例模式。 以下是一个简单的android MediaPlayer的单例实现: ```java public class MediaPlayerSingleton { private static MediaPlayer mediaPlayer; // 私有化构造方法,防止外部实例化 private MediaPlayerSingleton() { } // 提供全局访问点 public static MediaPlayer getInstance() { if (mediaPlayer == null) { mediaPlayer = new MediaPlayer(); } return mediaPlayer; } } ``` 在上述代码中,通过私有化构造方法,防止外部直接实例化MediaPlayerSingleton类。通过静态方法getInstance()返回MediaPlayer实例,并通过判断实例是否为空来实现单例。 使用时,可以在其他组件或类中通过调用MediaPlayerSingleton.getInstance()来获取MediaPlayer实例,然后进行音频或视频的播放操作。 示例使用了懒汉式单例模式,即在第一次调用getInstance()方法时才创建MediaPlayer实例。如果需要在应用启动时或其他地方立即创建实例,可以在MediaPlayerSingleton类加载时直接创建实例。 需要注意的是,单例模式需要考虑线程安全的问题,如果涉及到多个线程同时获取实例,需要加锁保证线程安全。此外,在适当的时候需要释放MediaPlayer实例,避免资源的浪费。 综上所述,通过实现MediaPlayer的单例模式,我们可以在不同组件或类中共享同一个MediaPlayer实例,提高效率和便捷性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值