question: void loadStrings ( ) throws IOException { int count = mHeaderItem . stringIdsSize ; int stringOffsets [ ] = new int [ count ] ; seek ( mHeaderItem . stringIdsOff ) ; for ( int i = 0 ; i < count ; i ++ ) { stringOffsets [ i ] = readInt ( ) ; } mStrings = new String [ count ] ; seek ( stringOffsets [ 0 ] ) ; for ( int i = 0 ; i < count ; i ++ ) { seek ( stringOffsets [ i ] ) ; mStrings [ i ] = readString ( ) ; } }
target:  Loads the string table out of the DEX. First we read all of the string_id_items, then we read all of the string_data_item.  Doing it this way should allow us to avoid seeking around in the file.