Difference between noReset and fullReset?

Hi everyone

I am also facing similar type of problem. My android capabilities are:

config.capabilities = [
{
platformName: ‘Android’,
noReset: false, // on Android will keep your app cache saved and with new Appium session there will be no need to log in again.
fullReset: true, // uninstall the app after test
maxInstances: 1,
automationName: ‘uiautomator2’,
deviceName: AndroidInfo.deviceName(),
platformVersion: AndroidInfo.platFormVersion(),
app: AndroidInfo.appName(),
chromedriverExecutable: ‘/integration-tests/node_modules/chromedriver/lib/chromedriver/chromedriver’,

},

];

When:
noReset: false, fullReset: true: It clears the cache and UNINSTALL the app.
noReset: true, fullReset: false: It does not clear the cache properly and for me this combination is not working as expected in automation.
noReset: true, fullReset: true: It failed to create the session for me so in turn it failed for me.
noReset: false, fullReset: false: It does not clear the cache + it does not UNINSTALL the app.

In my case, I want to clear the cache WITHOUT uninstalling the app. I would like my application to logout after my testCase execution is finished, thus clearing the cache as well.

What is the best way to accomplish this?