【发布时间】:2012-02-05 21:17:00
【问题描述】:
我启动相机活动并告诉它将图像设置为特定文件。当活动返回时,我正在抓取该文件并尝试将其上传到服务器,但有时相机活动尚未完成对文件的写入,因此我收到 NullPointerException。
确保您没有这种竞争条件的最佳做法是什么。我尝试了 synchrnized() 但这似乎并没有解决问题。
synchronized(picFile) {
imageUploader.uploadImage(picFile); }
我记得我大学的教授告诉我,如果我们进行空闲等待循环,他会追捕我,所以我觉得应该有比只是等待的循环更好的方法。
谢谢
【问题讨论】:
-
我们可以在这里获得更多上下文吗?
-
虽然我不知道“文件为空”是什么意思,但
android.os.FileObserver可能适合等待捕获的图像被正确存储。 -
我稍微整理了一下问题。希望这会有所帮助。谢谢harism,我一定会调查的。
标签: java android multithreading thread-safety