使用 iOS 16 更新到 Xcode 14 后,我没有看到任何 5.5 设备 - 这是有道理的,因为 Xcode 模拟器似乎只支持一种 iOS,并且没有任何 5.5 设备(例如 iPhone 8 Plus)运行 iOS 16。
不过,App Store 仍然强制要求 5.5 屏幕截图。那么如何创建这些屏幕截图呢?我能想到的解决方案有这些
我需要像这样的线程安全的arraylist.
public class BookingList {
private List<Booking> bookings;
public BookingList() {
bookings = Collections.synchronizedList(new ArrayList<Booking>());
}
@Override
public void addBooking(Booking booking)
{
synchronized (bookings) {
bookings.add(booking);
}
}
@Override
public void removeBooking(Booking booking)
{
synchronized (bookings) {
bookings.remove(booking);
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据java doc,当使用Collections.synchronizedList时,需要同步对列表的每次访问.我不确定我的同步块是否会这样做?
我使用的synchronized块是否相当于
...
public synchronized void addBooking(Booking booking) {
bookings.add(booking);
}
Run Code Online (Sandbox Code Playgroud)我应该像这样使用ReentrantLock吗?
private Lock lock = new ReentrantLock();
public void addBooking(Booking booking) {
try {
lock.lock;
bookings.add(booking);
} finally {
lock.release();
}
}
Run Code Online (Sandbox Code Playgroud)