我启动相机 Activity 并告诉它将图像设置为特定文件。当 Activity 返回时,我正在抓取该文件并尝试将其上传到服务器,但有时相机 Activity 尚未完成对文件的写入,因此我收到 NullPointerException。
确保您没有这种竞争条件的最佳做法是什么。我试过 synchrnized() 但这似乎没有解决问题。
synchronized(picFile) {
imageUploader.uploadImage(picFile); }
我记得我的大学教授告诉我,如果我们做一个空闲的等待循环,他会追捕我,所以我觉得应该有比只等待的循环更好的方法来做到这一点。
谢谢
最佳答案
您可以注册一个 ContentObserver 来通知您媒体存储的更改,并验证该文件是否存在于 OnChange 回调中。
关于java - 如何正确等待对象被实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9153118/