An apparatus for efficient memory use in a portable terminal, the apparatus comprising: a memory for storing data in a format of compressed data, wherein said data is for executing application programs for providing functions of the portable terminal; an initializer for searching for a block address table in the memory and for storing the block address table in a block address buffer when the portable terminal is initialized; the block address table having addresses of compressed blocks corresponding to addresses of the data; a paging buffer for temporarily storing requested data; a decompressor for determining an address of a compressed block corresponding to an address of requested data using the block address table stored in the block address buffer, decompressing the compressed block corresponding to the address of the compressed block of the compressed data stored in the memory, and storing the requested data in the paging buffer; and a memory manager for receiving a request for the data and the address indicating a storage position of the data, determining whether the requested data has been stored in the paging buffer, wherein if it is determined that the data has not been stored in the paging buffer, controlling the decompressor to decompress the requested data and store the decompressed data in the paging buffer, and if it is determined that the data has been stored in the paging buffer, returning the address of the requested data, wherein the compressed blocks are obtained by dividing the data into units to be stored in said paging buffer, wherein the compressed data comprises a compressed resource header and said compressed blocks, wherein the compressed resource header comprises information of original file size of the data, a total number of compressed blocks, and said block address table. a memory for storing data in a format of compressed data, wherein said data is for executing application programs for providing functions of the portable terminal; an initializer for searching for a block address table in the memory and for storing the block address table in a block address buffer when the portable terminal is initialized; the block address table having addresses of compressed blocks corresponding to addresses of the data; a paging buffer for temporarily storing requested data; a decompressor for determining an address of a compressed block corresponding to an address of requested data using the block address table stored in the block address buffer, decompressing the compressed block corresponding to the address of the compressed block of the compressed data stored in the memory, and storing the requested data in the paging buffer; and a memory manager for receiving a request for the data and the address indicating a storage position of the data, determining whether the requested data has been stored in the paging buffer, wherein if it is determined that the data has not been stored in the paging buffer, controlling the decompressor to decompress the requested data and store the decompressed data in the paging buffer, and if it is determined that the data has been stored in the paging buffer, returning the address of the requested data, wherein the compressed blocks are obtained by dividing the data into units to be stored in said paging buffer, wherein the compressed data comprises a compressed resource header and said compressed blocks, wherein the compressed resource header comprises information of original file size of the data, a total number of compressed blocks, and said block address table.