Symbian3/PDK/Source/GUID-95840076-79F2-524B-BAF7-828260BDD923.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 5 f345bda72bc4
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-95840076-79F2-524B-BAF7-828260BDD923" xml:lang="en"><title>Patchable
Constants: KHeapShrinkHysRatio</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<codeblock id="GUID-5053B8C4-B730-5341-98A3-801409460573" xml:space="preserve">EXPORT_C extern const TInt KHeapShrinkHysRatio;</codeblock>
<table id="GUID-EA923219-CBC1-5F40-9EF3-30EE85C02F76">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p>Exported from: </p> </entry>
<entry><p> <filepath>EUSER.DLL</filepath>, <filepath>EKERN.EXE</filepath>  </p> </entry>
</row>
<row>
<entry><p>Defined in: </p> </entry>
<entry><p> <filepath> .../os/kernelhwsrv/kernel/eka/common/heap.cpp</filepath>  </p> </entry>
</row>
<row>
<entry><p>Purpose: </p> </entry>
<entry><p>This constant defines the ratio that determines the amount of hysteresis
between heap growing and heap shrinking. It is a 32-bit fixed point number
where the radix point is defined to be between bits 7 and 8 (where the LSB
is bit 0) i.e. using standard notation, a Q8 or a fx24.8 fixed point number.
For example for a ratio of 2.0 set <codeph>KHeapShrinkHysRatio=0x200</codeph>. </p> <p>The
heap shrinking hysteresis value is calculated to be: </p> <codeblock id="GUID-1144F94A-6B4C-582D-B1FA-E5852F6BFAA6" xml:space="preserve">KHeapShrinkHysRatio*(iGrowBy&gt;&gt;8)</codeblock> <p>where <codeph>iGrowBy</codeph> is a page aligned value set by the argument, <codeph>aGrowBy</codeph>,
to the <xref href="GUID-EFAFDD75-7E59-306A-882D-317F5564979E.dita"><apiname>RHeap</apiname></xref> constructor. Default hysteresis value is <codeph>iGrowBy</codeph> bytes
i.e. <codeph>KHeapShrinkHysRatio=2.0</codeph>. Memory usage may be improved
by reducing the heap shrinking hysteresis by setting 1.0 &lt; <codeph>KHeapShrinkHysRatio</codeph> &lt;
2.0. Heap shrinking hysteresis is disabled/removed when <codeph>KHeapShrinkHysRatio</codeph> &lt;=
1.0. </p> </entry>
</row>
</tbody>
</tgroup>
</table></conbody></concept>