top of page
Writer's picturesibbidersdezrext

Facebook App Using Memory: How to Move It to SD Card and Save Space



While storage and battery issues may not be concerning initially, after long periods of using the Facebook app it will leave your device without enough storage or battery to perform other processes. Thankfully, there are ways to prevent Facebook from consuming your smartphone resources.


To turn off Background App Refresh on an iPhone go to Settings, tap the General option, then click on Background App Refresh. Here you can customize when you want your background to refresh. Options include when using Wi-Fi, Wi-Fi & Cellular Data, or turn off the feature entirely.




facebook app using memory



We run MemLab at regular intervals throughout the day to get a continuous signal on memory regressions. Any new regressions are added to an internal dashboard, where clustered retainer traces of all memory leaks detected are gathered and categorized. Developers can then click and view the properties of objects on the retainer trace of each memory leak.


For in-browser memory leak detection, the only input MemLab requires from developers is a test scenario file that defines how to interact with the webpage by overriding three callbacks with the Puppeteer API and CSS selectors. MemLab automatically diffs the JavaScript heap, refines memory leaks, and aggregates results.


MemLab supports a self-defined leak detector as a filter callback that is applied to each leak candidate object allocated by the target interaction but never released afterwards. The leak filter callback can traverse the heap and decide which objects are memory leaks. As an example, our built-in leak detector follows the return chain of a React Fiber node and checks if the Fiber node is detached from the React Fiber tree.


In the graph view, each JavaScript object or native object in the heap is a graph node, and each JavaScript reference in the heap is a graph edge. The heap size of a real application is often large, so the graph view needs to be memory-efficient while providing an intuitive object-oriented heap-traversal API. Therefore, the graph nodes are designed to be virtual and not interconnected through JavaScript references. When the analysis code traverses the heap, the virtual graph view partially constructs the touched section of the graph just-in-time. Any part of the graph can be easily deallocated since those virtual nodes do not have JavaScript references to each other.


To prevent the cascading effect of memory leaks in the Fiber tree, we added a full traversal of a tree that does aggressive cleanup when a component is unmounted in React 18 (thanks to Benoit Girard and the React team). This allows the garbage collector to do a better job at cleaning up an unmounted tree. Any accidental memory leak is bounded to a smaller leak size. This fix reduced average memory usage on Facebook by almost 25 percent, and we saw large improvements across other sites using React when they upgraded. We were worried that this aggressive cleanup could slow down unmounting in React, but surprisingly, we saw a significant performance win because of memory reductions.


When we further queried duplicated string patterns and clustering retainer traces we found that a significant portion of string memory is consumed by cached key strings in Relay. Relay generates cached keys for fragments by doing duplication, serialization, and concatenation. The string keys are further copied and concatenated for cached keys of other resources (e.g., fragments) in Relay. By collaborating with the Relay and React Apps teams, we optimized Relay cache key strings by interning and shortening overlong string keys on the client side.


This optimization enabled Relay to cache more data, allowing the site to show more content to users, especially when there is limited RAM on the client side. We observed a 20 percent reduction in memory p99 as well as OOM crashes, faster page rendering, improved user experience, and revenue wins.


While profiling for memory usage through Instruments, we also observed instances in the app usage where the application allocated a significant amount of memory (30 MB) temporarily and then deallocated shortly thereafter. If the CPU was not idle during this allocation, there was a chance that the OS could kill the application. We were able to get rid of these temporary allocations, which helped reduce OOM crashes for certain scenarios by up to 30 percent. We also experimented and discovered that allocating once and holding on to memory was better for app reliability, rather than having repeat allocations and deallocations.


Even after migrating to WKWebView, we still found that a small memory leak could affect the OOM rate significantly, especially on the more memory-constrained devices. With our frequent release schedule and many teams contributing to the app, it was important to both catch and prevent memory leaks in the apps we release. We leveraged the CT-Scan infrastructure, originally designed to test for mobile performance, to log the amount of resident memory in the process, allowing CT-Scan to flag regressions as soon as they were introduced. This has helped us keep the OOM rate much lower than when we first started working on it.


The last key tactic we used in this project was to construct an in-app memory profiler, to allow profiling the app quickly by tracking all Objective-C object allocations. We configured this in CT-Scan and in the internal builds of our app.


Minutes don't last, but the memories do, and occasionally the best method to seal a memory is not in digital space but rather in a physical keepsake to make sure that we can hold it in the palm of our hands.


Random access memory (RAM) is a common piece of computer hardware. Your desktop computer, laptops, and other handheld devices use RAM as temporary memory to store frequently accessed information. For example, when your smartphone is switched on, data concerning the operating system, apps, data, and more are all stored in RAM.


iOS uses less RAM than its Android counterpart since its chips are optimized and used exclusively with Apple products. Today, even a 2014-era iPhone 6 can still run the latest iOS version with just 1GB of memory. Apple's flagship iPhone 14, released in 2022, still only uses 6GB RAM, such is the incredible level of optimization performed by Apple's hardware.


Take note that you also have to add the RAM consumed by your operating system. From here, you can see why it makes sense that some mobile companies offer 6GB, 8GB, and even 12GB of memory. If you're using something like Samsung DeX, you're going to want more RAM.


Another thing to note is that you might see apps suggesting minimum recommended RAM, although the app doesn't use nearly that amount. That's because the app developer knows that you need more RAM to account for other apps running on the smartphone. So when the Facebook app says you need at least 2GB RAM, that's not because the app requires all of the RAM to run properly; it'll just make your smartphone experience much better overall if you have 2GB RAM installed while using the app alongside others (and again, not forgetting the operating system RAM requirements).


If you are using an older iPhone model, 2GB RAM is enough to operate. Apple's latest mobile operating system, iOS 16, will run on the aging iPhone 8 with just 2GB RAM. However, note that iOS 16 is the first iPhone to drop support for the iPhone 6, iPhone 7, and iPhone SE (and their variants).


You can still join the G+ Community if you are interested in the development news. Once you install and launch the app, you need to do the usual and sign in to your FB account. The app also supports the faster login option using a 4-digit passcode.


Next, go to the App Store on your iPhone, and search for the app you just deleted. Select the app and tap to "Get" it on your iPhone. You can now begin using the app as before, except you'll notice you have cleared up space on your device during the process.


"@context": " ", "@type": "BreadcrumbList", "itemListElement": ["@type": "ListItem", "position": 1, "name": "How to make a Facebook slideshow (with music and all!)","item": " -slideshow-on-facebook/#How_to_make_a_Facebook_slideshow_with_music_and_all" ,"@type": "ListItem", "position": 2, "name": "Go to Your Facebook Page","item": " -slideshow-on-facebook/#Step_1_Go_to_Your_Facebook_Page" ,"@type": "ListItem", "position": 3, "name": "Choose Your Video Settings","item": " -slideshow-on-facebook/#Step_2_Choose_Your_Video_Settings" ,"@type": "ListItem", "position": 4, "name": "Add Music to Your Facebook slideshow","item": " -slideshow-on-facebook/#Step_3_Add_Music_to_Your_Facebook_slideshow" ,"@type": "ListItem", "position": 5, "name": "Upload Your Images","item": " -slideshow-on-facebook/#Step_4_Upload_Your_Images" ,"@type": "ListItem", "position": 6, "name": "Preview Your Facebook Slideshow","item": " -slideshow-on-facebook/#Step_5_Preview_Your_Facebook_Slideshow" ,"@type": "ListItem", "position": 7, "name": "Publish Your Slideshow","item": " -slideshow-on-facebook/#Step_6_Publish_Your_Slideshow" ]


The Facebook app crashing more than other apps is likely because of several reasons. One of the main reasons that your Facebook app keeps crashing could be that you have not updated the app for a while. Sometimes not having installed the latest update can cause issues while logging in and also while using the app.


The other reason could be that the smartphone device that you are using is too hot or has memory problems. The apps can also crash involuntarily because of memory problems or if the phone's system is unable to perform well.


If the problem persists even after using these methods, try shutting down your phone and restart it. Sometimes the apps crash when the phone is heated or is overwhelmed with many apps working. Restarting will make you phone reboot and function well.


Runtime Broker is a Windows process in Task Manager that helps manage permissions on your PC for apps from Microsoft Store. It should only use a few megabytes of memory, but in some cases, a faulty app might cause Runtime Broker to use up to a gigabyte of RAM or more. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page