正如标题所说,为什么它不使用new
关键字?为什么我们必须以静态方式创建任何新的位图?
答案 0 :(得分:3)
这是一个设计选择。设计人员认为允许使用众多(静态)factory methods之一创建新的Bitmap实例是不明智的。
一个优点是它允许工厂方法 - 如果合适 - 在多个调用中返回相同的实例。请注意,返回的某些位图保证为immutable,因此可以安全地重复使用(这可以避免浪费具有重复图像数据的内存)。
使用Bitmap.createBitmap
工厂方法重载之一来获取(可能但不保证是新的)Bitmap对象。
不允许使用new Bitmap()
因为Bitmap构造函数是private
,所以只有工厂方法可以直接访问它。