This may be obvious to some people but not all...myself included
If you find that your apps/games (or anything else) stored on your sd card are starting to take longer to load than usual, try connecting it to your computer and running disk defragmenter (or whichever program you prefer).
I did it to mine after a good 6+ months of use and found that it was heavily fragmented (took a few hours to complete on class 2 8gb so left it running overnight!)
If that doesn't make much difference then you might want to invest in a higher class sd card which of course will give you faster read/write speeds
EDIT: sorry i just realised this is in the wrong section!!!
To have more of an impact you can change the readahead value in sys/devices/virtual/bdi/179:0/read_ahead_kb from 128Kb to whatever suits your SD card type. In my case 2028Kb.
This cannot be achieved just by editing the file as it is overwritten on boot. Google for it or search market if you want an app to do it for you if you are rooted. Tasker works also.
Using a PC to defragment your phone's SD card can be bad. Bad as in, the computer will treat your SD card as if it's some memory expansion to itself. It will move files to places where it "thinks" they should be but actually they're in the correct place for the device. This is based on past experiences when I did it and that's exactly what it did. Example in the Android Secure folder (asec files), it caused apps which were moved to the SD card to have corrupted data (cause it depleted the values of some of the asec files). The method nobnut stated is the better option.
If you must do it on a pc, rather than use Windows own defragmenter, use an SD defragmenter program, like http://panasonic.jp/support/global/cs/sd/download/index.html.
Related
Okay XDA tenured- please be gentle. I ve searched, but can not find specific answers to my questions. I ordered a 16gb class 6 (currently have class 2), but would appreciate information before making the changes.
1.) Is it possible to leave current apps on the device memory, then set up for apps to SD and then future apps will go to the card?
2) Based on question 1) if it works, when I update future apps on the device, I am guessing they would then uninstall from the device and then install to card?
3) Would it be best for performance to leave all cache on the device memory? Seems like the system would be faster then.
4) What is the meg space difference leaving all cache or moving it?
5) When changing over to apps to SD, is it not kind of like the same constrained system as an iPhone (Plenty of intitial space, but no ability for external storage)? Point being, if all the apps are on the card and you want to listen to or view media on a seperate card, you would not be able to, since the apps are on the "device" card. This is the whole point to my first question. Unless you can copy the app directory path on the card to another card and use as is- just like the card already installed too...
1: Yes, if you follow my tutorial, it has you copy the existing apps to the sd card and if you use my app, the checkbox tells it to do that as well.
2: No apps will be on your device. There's no way to have a hybrid here, it's either all apps on the sd card or none(not actually true but would be a pain in the ass to make symlinks for each app individually and I don't know of anyone who cared enough to actually try it)
3: I have all apps and caches on the sd card and it is running just as smoothly as normal(and with a class 2 sd card!) There might be some slowdown but it's imperceptible to me.
4: With the cache on device it'll vary depending on what apps you have and how often you use them. With everything moved the memory on the device seems to stay permanently at 72-73MB. That said, moving the normal cache(dalvik-cache seems to be ok) is pretty unstable and I wouldn't suggest it unless you really know what you're doing.
5: Yes, unfortunately this whole process relies on the system not knowing the apps are on the sd card so it's pretty strongly tied to one. That said, you could probably get away with different sd cards as long as they also have an ext2 partition with the app, app-private, etc. directories in it. You'd probably have to reboot when switching sd cards but it should be possible(interestingly you could use this to get different settings depending on what sd card you have in)
Thanks!
So basically we have an iPhone in regards to being stuck to device memory and no option for external storage beyond what is on the card.
I guess there are pros and cons to either set-up. App hounds would prefer apps2sd and media hounds may prefer leaving things alone.
If you are an app and media hound, you are kind of stuck juggling media from the card.
Yep. Although as I was talking about, you could theoretically move each app independently and set up symlinks in the /data/app directory for each app, pointing to where it is on the sd card and leave the ones you want on the phone as they are, but that doesn't sound particularly fun.
With apps to sd, is it possible to install certain apps on the phones memory?
A) Wrong forum
B) Why would you want to?
But I suppose if you REALLY wanted to, it'd be as simple as ejecting your SD card (as long as phone doesn't freak out) and installing whatever you need, and then reinserting. I do believe that should work, or at least it has worked in the past.
rockdevourer said:
A) Wrong forum
B) Why would you want to?
But I suppose if you REALLY wanted to, it'd be as simple as ejecting your SD card (as long as phone doesn't freak out) and installing whatever you need, and then reinserting. I do believe that should work, or at least it has worked in the past.
Click to expand...
Click to collapse
Pulling your SD card while your phone is still on is very stupid especially if your using Swap or Apps 2 SD and besides even if it did install on your phone's memory Apps 2 SD will automatically move it from the phones memory to your SD card.
just thought that some programs that run all the time may run more reliably from the internal memory vs external sd card.
sorry misread the question. if you have apps to sd... currently they are built into the roms to install on startup....so anytime you restart on one of these roms you will move the app you moved to internal to the sd. there maybe some command to protect it from the move but i'm not aware.
the answer to your question is : yes it possible with tmpfs
but
it won't change nothing
we are talking about what ? 1mb max app size ?
Pull then push to /system/app. Wrong forum.
What im.l0ltn said will work fine, but like others asked, why? You won't see much improvement unless you are using a low class sd. I have tried installing a few apps to internal memory but didn't see enough of a noticable performance boost. And if you are using a class 6 sd you will actually slow things down by putting them on internal mem. So you're better off leaving them on SD and saving the trouble of reinstalling every time you install a new rom. It gets to be more trouble than it's worth.
With Froyo enabling Apps2SD feature, I've been moving my apps to my SD card slowly, those who support it anyway. I've noticed that not the entire app moves to the SD card. For example I downloaded Alchemy, which is more than 2MB in size.
When I moved it to SD card, it showed less than 1 MB had moved to the SD card! Why is that? Is moving entire apps technically impossible?
Some parts of the installation are always installed on the device. Services and other core parts of the app are still on the device to assure the app is not crashing if you remove the sd card (and some parts of the app are still running). Besides that when you insert the sd card into another device you can't use the app. Some kind of copy protection I guess. This said I thought it's the same like it was on Windows Mobile.
I see. Doesn't that mean the ROM bottleneck hasn't actually been removed? Still I suppose it's better than before. Too much of an app still resides on the phone as opposed to the SD card in my opinion - more than half in most cases.
root ?
i've read about the method that people used to use before froyo came out that involves rooting the phone.i guess that would not leave any traces on the phone storage ? i guess that the better option still ?
I saw a question here in XDA where a person was asking how his torrent app could save downloads to the external SD card without root, in KitKat. This can actually be done, with many apps.
Surprisingly, there were no answers, except to tell him to root. That is not always the case! I've been saving and writing data to my external SD card since I got my KitKat device and, I am not rooted. I didn't know this was not a well known technique, or I would have posted this information a long time ago. I just did an internet search (to see if it was well known or not) and it came up empty! But, if this method is common knowledge and I just missed it (wrong search criteria, for example), I apologize!
With KitKat, you do not have to be rooted for many apps to be able to write to an external SD card, if you follow Google's guidelines!
Let me explain via an example:
One main requirement is that the app in question can actually see and use the external SD card - some cannot. Also, please be aware, depending upon your device manufacturer, the path examples given in this explanation may vary.
For the example, I am going to use a made-up app called MyTorrent. Let's say MyTorrent has a home-directory of '/storage/emulated/0/Android/data/com.company.mytorrent/files' where it stores its downloads, but you want it to save the downloads to the external SD card instead of internal memory. With many apps, this is easily and completely doable!
To have MyTorrent use the external SD card to save its downloads, you need to first make sure a home-directory was created for MyTorrent on the external SD card. There should be an Android directory on the external SD card, just like there is in internal memory. An app's external home-directory path will look a lot like its internal home-directory path, something like: '/storage/extSdCard/Android/data/com.company.mytorrent/files'. If the app you are setting up does not have a home-directory on the external SD card, just create one manually (use the internal home-directory path as a template).
Finally, just point MyTorrent's download location to its external SD card home-directory! As long as you can select the external home-directory path as the app's download destination, it should work. If this technique doe not work, it is usually because of how the app is written or, you got the external SD card home-directory wrong. Google set KitKat up so that any app has write permission to its own external SD card home-directory.
This is not a perfect answer and does not open up the external SD card for KitKat's use carte blanche, but it will help free up a lot of wasted, limited internal memory.
This method also works for file managers. Unfortunately, only their external home-directory will be available to them, but it is a good place for manual copy-type backups and zips.
Gonna check it out with my torrent. I saw this thing in Snap Camera app, when I wanted to save videos in SD card, but it saved in its directory, not anywhere else.(but I didn't understood that it can only save in its dir)
DarkLTU said:
Gonna check it out with my torrent. I saw this thing in Snap Camera app, when I wanted to save videos in SD card, but it saved in its directory, not anywhere else.(but I didn't understood that it can only save in its dir)
Click to expand...
Click to collapse
I use Flud, and it works fine for me. But, like you reiterated, it must use its own home directory.
BTW, it works (in most cases) the same way with Lollipop, too.
Hello all,
It seems that nowadays all vendors decide to go with the approach to have a virtual SD card that uses an emulated filesystem to make us feel happy in case we do not have a real SD card. I honestly do not understand the reasoning behind this so I am reaching out to you to let me know what you think the reason is.
For now I can see the following pros and cons of this approach:
Pros:
Have SD card support in case you do not have a real one and you have an app that requires it.
Cons:
You no longer can move applications to external SD card on most devices (all that I have tried).
The application data (obb) that is essentially the largest thing an app can offer goes directly to the internal SD card and you can not move it to the external SD card.
You are now even restricted by what you can write on the external SD card because if not there is a security issue. That's also a thing that I do not understand that is conveniently not explained and just implemented.
Your CPU cycles are used to process the data yet once more just so that you can have the luxury of an emulated file system.
The fuse filesystem in most devices lacks some basic features like links.
Essentially the internal SD card seems like a Huge hack to me. Why is that? Even just the name gives it all away. "Internal SD card". That is not an SD card. It's not even a separate flash chip. Not even a separate partition on most devices. There is times where this is just a folder in your userdata partition made to look like an SD card by the magic of fuse.
The only reason I could find for this monstrosity is that there is some kind of compatibility issue with some apps in case you do not have an SD card and so that's why they came up with this.
So please let me know what the big idea that I seem to be missing here is as to why this humongous hack is needed. Thanks in advance!
Cheers,
Sakis