# Static Memory ## Working Principles The static memory is a static array. The block size in the static memory pool is set during initialization and cannot be changed after initialization. The static memory pool consists of a control block **LOS\_MEMBOX\_INFO** and several memory blocks **LOS\_MEMBOX\_NODE** of the same size. The control block is located at the head of the memory pool and used for memory block management. It contains the memory block size \(**uwBlkSize**\), number of memory blocks \(**uwBlkNum**\), number of allocated memory blocks \(**uwBlkCnt**\), and free list \(**stFreeList**\). Memory is allocated and released by block size. Each memory block contains the pointer **pstNext** that points to the next memory block. **Figure 1** Static memory  ## Development Guidelines ### When to Use Use static memory allocation to obtain memory blocks of the fixed size. When the memory is no longer required, release the static memory. ### Available APIs The following table describes APIs available for OpenHarmony LiteOS-M static memory management. For more details about the APIs, see the API reference. **Table 1** APIs of the static memory module