我对内容提供商有疑问.
每当我编写内容提供者时,我将URI MATCHER定义放在静态括号中,但URI MATCHER被声明为该类的私有数据成员.只有定义(新的UriMatcher)被放置在静态括号中.
有谁请让我知道原因.我试过谷歌搜索,但无法找到答案.如果有人知道的话,我也会试着告诉我.
谢谢&问候,
SSuman185
解决方法:
这是一个static initialization block.
定义成员或类变量时,值必须适合单行(即使将其间隔更多),也不能包含复杂的逻辑.
对于成员变量,您可以在构造函数中执行此复杂的初始化.
本质上,静态初始化块是类变量的构造函数,允许您在初始化时使用更复杂的表达式.无论创建多少个实例,它只会在首次加载类时执行一次.
私有成员只是意味着该变量不能被其他类访问,它仍然可以被类本身访问.所以静态初始化块只创建URIMatcher一次(当加载类时),无论有多少个实例.
总结以上是内存溢出为你收集整理的android – 为什么我们应该在内容提供者的静态花括号中保留urimatcher定义?全部内容,希望文章能够帮你解决android – 为什么我们应该在内容提供者的静态花括号中保留urimatcher定义?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)