My apps can't save my input or choice in android 6.0.1, how to fix it? I'm using Nexus5, it's original version is 4.x, later on I upgraded it to 5.0(Lollipop) and recently I updated my system to 6.0.1, via internal upgrade mechanism. But I found a serious problem. Many apps can't store cache inputs now. Which works fine on my 4.x era before.

There is a background I need to mention, as I'm in China, many of my apps are download from local apps market, but not google play market.

Here is an issue description about using a food-ordering apps in my mobile.
At the final step of a food-ordering, I got to choose my current address.
Then I was prompted into a single page-view where I can choose between all my addresses. 
After I finished choosing, I was redirect back to the order main-page.
But there I found my address-choosing behavior was not saved.

Three of my frequently used apps has this issue.
Even after I uninstalled them and reinstalled them later won't fix the issue.

Yesterday I downloaded another film app, but I stuck in the login page, every time I typed my infos and press OK. After a flash, It redirect me to the login page again. It drives me crazy. I opened all permissions for it, restart my phone, but still I was stuck at the infinite login loop.

All those apps I mentioned above has hundreds of millions of users in China. I believed they have considered the compatibility with 6.0 version.
So I'm wondering something may went wrong during my upgrade.

Does anybody have any idea about this issue? How to fix it? (It's the best if the solution doesn't require to reinstall my system manually.)

PS: I just did another upgrade to 2016.08 patch for my mobile. And hilarious things happened. When I opened my shadowsocks app, the system requires my to verify the connection permission for it. I chose OK on my screen. Nothing happened, shadowsocks didn't start proxying. I touch the button again, the same require permission screen pops up. I tried it for 5 times. Can't start my shadowsocks, it seems after this upgrading, the system pops-up can't save my choice/input, either.
It's not the answer you were looking for but what I would do if I were in your shoes would be to install the latest TWRP (assuming you rooted) and download the latest "hammerhead" for Nexus 5 (GSM/LTE) 6.0.1 (M4B30X, Oct 2016).

After you get the .zip, unpack it to a folder. You'll see 


bootloader-hammerhead-hhz20h.img
radio-hammerhead-m8974a-2.0.50.2.30.img
image-hammerhead-m4b30x.zip
flast-all.bat


Unpack that enclosed zip as well to get:


boot.img
cache.img
system.img
userdata.img
recovery.img


Edit flash-all.bat to something like this:

@ECHO OFF

::PATH=%PATH%;"%SYSTEMROOT%\System32"
fastboot flash bootloader bootloader-hammerhead-hhz20h.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.30.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 &gt;nul

fastboot erase boot
fastboot flash boot boot.img

fastboot erase cache
fastboot flash cache cache.img

fastboot erase system
fastboot flash system system.img

fastboot erase userdata
fastboot flash userdata userdata.img

::fastboot flash recovery twrp.img     // this one if rooted
::fastboot flash recovery recovery.img // this one if not rooted

echo Press any key to exit...


You mentioned you flashed a factory image before so I ommited the information about how to set up and use fastboot.exe but the details can be found here: https://developers.google.com/android/images

I don't know that this will fix your cache issue but it is a more complete flash method than running the stock flash-all.bat.