scale UIL parallelization based on amount of RAM the device comes with
This uses the total RAM that the device comes with as a rough measure of the devices capabilities. That is then used to set how many parallel threads UIL can use.
This commit is contained in:
		
							parent
							
								
									504286d44b
								
							
						
					
					
						commit
						b10fa425b5
					
				| @ -397,7 +397,7 @@ public class FDroidApp extends Application { | ||||
|         ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) | ||||
|                 .imageDownloader(new ImageLoaderForUIL(getApplicationContext())) | ||||
|                 .defaultDisplayImageOptions(Utils.getDefaultDisplayImageOptionsBuilder().build()) | ||||
|                 .threadPoolSize(4) | ||||
|                 .threadPoolSize(getThreadPoolSize()) | ||||
|                 .build(); | ||||
|         ImageLoader.getInstance().init(config); | ||||
| 
 | ||||
| @ -470,6 +470,24 @@ public class FDroidApp extends Application { | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Return the number of threads Universal Image Loader should use, based on | ||||
|      * the total RAM in the device.  Devices with lots of RAM can do lots of | ||||
|      * parallel operations for fast icon loading. | ||||
|      */ | ||||
|     @TargetApi(16) | ||||
|     private int getThreadPoolSize() { | ||||
|         if (Build.VERSION.SDK_INT >= 16) { | ||||
|             ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); | ||||
|             ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo(); | ||||
|             if (activityManager != null) { | ||||
|                 activityManager.getMemoryInfo(memInfo); | ||||
|                 return (int) Math.max(1, Math.min(16, memInfo.totalMem / 256 / 1024 / 1024)); | ||||
|             } | ||||
|         } | ||||
|         return 2; | ||||
|     } | ||||
| 
 | ||||
|     @TargetApi(18) | ||||
|     private BluetoothAdapter getBluetoothAdapter() { | ||||
|         // to use the new, recommended way of getting the adapter | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Hans-Christoph Steiner
						Hans-Christoph Steiner