If you want to perform a long operation and do not want to interrupt it, you must use services. Using a multi-threaded operating system, you can easily kill the application, but if you register for the service, it will wait for the completion of this operation.
To summarize, you should use the service for critical operations such as uploading a photo, and you can use multithreading where interrupting an operation is not critical.
source share