/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: sw=2 ts=8 et :
*/ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// A simple memory pressure observer implementation born out of the realization // that almost all of our memory pressure observers do exactly the same thing. // // The intended way to use it is to have the class that nees to react on memory // pressure inherit the MemoryPressureListener interface and own a strong // reference to a MemoryPressureListener object. // Call Unregister on the listener in the destructor of your class or whenever // you do not which to receive the notification anymore, otherwise the listener // will be held alive by the observer service (leak) and keep a dangling pointer // to your class.
/// See nsIMemory.idl enumclass MemoryPressureReason {
LOW_MEMORY,
LOW_MEMORY_ONGOING,
HEAP_MINIMIZE,
};
class MemoryPressureListener { public: virtualvoid OnMemoryPressure(MemoryPressureReason aWhy) = 0;
};
class MemoryPressureObserver final : public nsIObserver { public:
NS_DECL_ISUPPORTS
NS_DECL_NSIOBSERVER
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.