What are the advantages of using the Android DownloadManager class to handle downloads in a service over using normal http downloads?
Do they function the same way for downloads of about a few megabytes?
Quoting from the doc of DownloadManager (emphasis is mine):
The download manager is a system service that handles long-running HTTP downloads. Clients may request that a URI be downloaded to a particular destination file. The download manager will conduct the download in the background, taking care of HTTP interactions and retrying downloads after failures or across connectivity changes and system reboots. Instances of this class should be obtained through getSystemService(String) by passing DOWNLOAD_SERVICE. Apps that request downloads through this API should register a broadcast receiver for ACTION_NOTIFICATION_CLICKED to appropriately handle when the user clicks on a running download in a notification or from the downloads UI. Note that the application must have the INTERNET permission to use this class.
If you think that your network is good enough to handle this few megabytes download, and you're ready to handle all situations where the normal download fails, go ahead. If not, use the download manager.