Introduction and practice of flutter technology! How can I pass the interview with a first-line Internet company? Android articles

Many programmers have this kind of consciousness; getting a job qualification is a stepping stone. Without a 211,985 qualification, it is impossible to enter a large company.

Let me give you an example;

If you are an interviewer from a large factory, there are 10 general school freshmen who have just graduated without work experience, and 10 985 freshmen who have just graduated, and you only plan to recruit 5 internships.

Do you look at academic qualifications or ability?

I think normal interviewers will choose a good degree. Because before you work, your academic qualifications largely represent your abilities

As an Android developer, in addition to bugs, you often encounter the following problems:

Application freezes, dropped frames, torn screens, slow refresh of the operation interface, unsightly UI, messy layout... If these problems occur frequently, they may not be used in a year.

When developing an App, do you feel the interface freezes? Especially when customizing the View.

Most of the factors that affect user experience such as freezing and frame loss of Android applications are related to the value of 16ms. The refresh rate of the Android device is also 60Hz. The Android system sends out a VSYNC signal every 16ms to trigger the rendering of the UI. If it exceeds 16ms, we think that a stutter has occurred.

Some common reasons are:

  • The layout is too complicated and too many levels;

  • There are too many drawing units stacked on the UI, and over drawing;

  • Or methods such as onDraw are too time-consuming;

  • CPU or GPU is overloaded;

  • The animation has been executed too many times;

  • Frequent GC, mainly due to memory jitter;

  • UI thread performs time-consuming operations;

  • and many more;

So what can we do to give users a good UI experience?

  1. Optimize the interface layout, flatten the interface layout view, remove unnecessary background colors, and reduce the use of transparent colors; (Minimize the cumulative time of measure, layout, and draw in the system)

  2. Reduce data operations in UI threads and use sub-threads to handle time-consuming tasks;

  3. Try to avoid frequently creating new objects and using local variables in the loop logic or onDraw method;

  4. Don't do time-consuming operations in the main process to improve UI drawing speed (reduce the layout level of View, avoid transitional drawing, etc.)

Advanced UI has an inseparable connection with custom View. Customizing View is actually not difficult, why?
Because custom View is nothing more than display + interaction: display the entire process of onMeasure ->onLayout->onDraw will show that the entire process is processed, and the interaction is the processing of touch events; in addition to everything else such as Canvas, Animation, Paint They all revolve around draw, so we need to understand the basic principles.

to sum up

In fact, it is very simple to master easily, and there are two main points:

  1. Find a good set of video materials and follow the knowledge framework that Daniel has sorted out to learn.
  2. Practice more. (Video advantage is strong sense of interaction and easy to concentrate)

You don't need to be a genius, and you don't need to have a strong talent. As long as you do these two points, the probability of success in the short term is very high.

For many junior and intermediate Android engineers, if they want to improve their skills, they often grow up on their own, and the learning effect of fragmented systems is inefficient, long and helpless. The screenshots of the following information are compiled by me over a few months, and I am full of sincerity: especially suitable for Android programmers with 3-5 years of development experience to learn.

%AA%EF%BC%81.md)】。**

[External link image is being transferred...(img-a2i0Mvhe-1611397628395)]

Guess you like

Origin blog.csdn.net/Sunbuyi/article/details/113059889