Hints are constants passed to a BarcodeDecoder object in the form of a Hashtable object which help the decoder interpret the barcode by narrowing down the possibilities of what the image presented could be. In addition to providing specific hints, such as a barcode's format, the DecodeHintType class in the com.google.zxing package specifies types of hints.
Hints are passed into a BarcodeDecoder object as a Hashtable. The data (hints) stored in the Hashtable are interpreted by the DecodeHintType constant passed into the BarcodeDecoder object's constructor.
When implementing a BarcodeDecoder, hints are essential to improving the performance and speed of a barcode scanning application. By narrowing down what the decoder looks for when interpreting an image, the computational power required decreases, and accuracy of reading increases. In most cases, for example, you will not need to scan both 1D and 2D barcodes. If this is the case, then instructing the decoder to only look for 2D barcode formats will reduce the amount of time the decoder needs to find a barcode in a scanned image.