Mobile testing with appium/Android - buttion click not working since page is not correctly loading with appium

The problem

step1.
When I open “my profile page” through appium new session, the “edit profile” button is not loaded. so you can’t move to edit page from tap it. when you tap it, it is trying to move edit page. But not moving. please see step1 image and logs

step1

step1.txt (47.4 KB)

step2.
Then I move to “edit page” with finger click on the device. again come back to “my profile page” and “Refresh source and screen shot” on the appium window. Now I can see the “edit buttion” there(with different colour). Now I can tap it. it is moving to edit page. see the image and logs.

step2.txt (30.0 KB)

Same thing is happening from my selenium test, Sometime this “Edit Profile” buttion is working. Sometime not.
In the other pages also button click and .sendKeys() methods are not working consistency. Some time working sometime not. I checked my application manually on the device. There is no any issues in the app pages. I believe that appium is not properly reading these pages.

Environment

Appium version (or git revision) that exhibits the issue: appiumv1.6.5 desktop
Last Appium version that did not exhibit the issue (if applicable):
Desktop OS/version used to run Appium: windows 10
Node.js version (unless using Appium.app|exe):
Mobile platform/version under test:
Real device or emulator/simulator: Real device
Appium CLI or Appium.app|exe:
code

File appDir = new File(“D:\sdk-tools-windows-3859397”);
File app = new File(appDir, “Faber.apk”);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, “Android”);
capabilities.setCapability(MobileCapabilityType.PLATFORM, Platform.ANDROID);
capabilities.setCapability(“platformName”, Platform.ANDROID);
capabilities.setCapability(“deviceName”, “CC524Y401167”);
capabilities.setCapability(“app”, app.getAbsolutePath());
capabilities.setCapability(“appPackage”, “com.faber.worker”);
capabilities.setCapability(“appActivity”, “com.faber.worker.MainActivity”);
capabilities.setCapability(“autoAcceptAlerts”, true);
capabilities.setCapability(“unicodeKeyboard”, true);
capabilities.setCapability(“resetKeyboard”, true);
driver = new AppiumDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);