Final variables are just constant, ie they can not receive new values.
Static variables are class variables, that is, they do not depend on the creation of an object to be used and all objects of this class will have access to the value of this variable.
Private and public variables are only access restrictions that you configure. Private only the object itself accesses and public anyone.
The combination of the above definitions will depend on the strategy and logic you are implementing. I've never heard of any difference in performance between them. At least in training, even the officials I've done have never raised that question.
Class variable in place of primitive (Integer instead of int, eg) have come to add features that the primitives do not have (eg check if it is null). It has less performance, but it's so insignificant that it's not worth it to stop using it thinking about it.
The part of the context you mentioned did not understand.
Android Studio tips are intended to increase code efficiency. For example: if you create a variable that does not change its value and no other method accesses, why not create it as constant and local within the method that uses it?