xianfeng92 / Ganks

Just for fun

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ganks

👌This is a simple app using the Uncle Bob's clean architecture approach.


Progress

Progress


API commit Author


Ganks Architecture

Ganks Architecture

some Details

  1. Presenters in this layer are composed with interactors that perform the job in a new thread outside the main android UI thread, and come back using a callback with the data that will be rendered in the view.

  2. Domain Library a pure java module without any android dependencies. All the external components use interfaces when connecting to the data Library.

  3. All data needed for the application comes from data Library , through a MeiziRepository implementation (the interface is in the domain)


Ganks DI With Dagger

GankDIWithDagger

LifeCycle about Ganks

see:

When we cool start and entering the HomeFragment

when entering the TanTanFragment


UI performance problems

  1. Using AndroidPerformanceMonitor to detec ui-block, especially the block of message event in Ui thread.The default BlockThreshold is 500ms.

  2. systrace,systrace is particularly useful for inspecting app's UI performance because it can analyze code and frame rate to identify problem areas and suggest possible solutions.


Display

App Display


Library Used

   A powerful Recycler Adapter framework that integrates most common list requirements solutions.
  A powerful library that manage Fragment for Android!
  Type-safe HTTP client for Android and Java by Square
   RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences 
   for the Java VM.

A low-cost Android screen adaptation solution

 A memory leak detection library for Android and Java.

Thanks

Gank io

License

Copyright 2019 xianfeng zhong

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.