自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Android性能优化(二)App布局优化

布局优化的通用套路调试GPU过度绘制,将Overdraw降低到合理范围内设置——开发者选项——调试GPU过度绘制——显示过度绘制区域。在实际项目中,一般认为蓝色即是可以接受的颜色。总结卡顿原因:16毫秒机制16 毫秒的时间主要被两件事情所占用第一件:将 UI 对象转换为一系列多边形和纹理( GPU处理的数据)第二件: CPU 传递处理数据到 GPU 。所以很明显,我们要缩短 这两部分的时间,也就是...

2018-03-09 16:46:45 248

原创 Android性能优化(一)App启动原理分析及启动时间优化

主要内容为以下几个问题app启动黑白屏问题产生原因冷启动,热启动简单分析源码的启动流程trace分析工具一,app启动黑白屏问题产生原因AppTheme的父类的一个属性windowbackground 的颜色为白色或黑色 ,所以会出现黑白屏的情况二,冷启动,热启动1 冷启动:当启动应用时,后台没有该应用的进程。2 热启动:当启动应用时,后台已有该应用的进程。adb shell ---ps...

2018-03-07 11:44:31 712

原创 DecorView如何添加到Window

前几篇文章讲了 从setContentView开始,了解view的加载过程 LayoutInflater 是怎么把xml添加到decorview? 今天来看一下DecorView如何添加到Window1,首先要了解Activity的启动过程private void handleLaunchActivity(ActivityClientRecord r, Intent customIntent)

2017-05-26 00:43:30 1315

原创 AppCompatActivity和Activity的setContentView方法的区别

前几天大致看了下Activity的setContentView方法,现在我们看一下AppCompatActivity的该方法进入该方法和Activity的setContentView方法有明显的差别,通过名字可以猜测getDelegate()是一个代理方法,它的作用是 代理了一些做兼容的类,因为AppCompatActivity是V7包里的,而v7包就是做兼容的; @Override pub

2017-05-25 20:54:17 2993

原创 LayoutInflater 是怎么把xml添加到decorview?

问题主要问题:LayoutInflater 是怎么把xml添加到decorview?衍生问题:include 为什么不能作为xml资源布局的根节点?merge 为什么作为xml资源布局的根节点?先来看setContentView里的 mLayoutInflater.inflate(layoutResID, mContentParent)方法@Override public void setC

2017-05-23 23:37:22 275

原创 Android里merge和include标签的使用及区别

1.使用 标签来重用layout代码如果在一个项目中需要用到相同的布局设计,可以通过 标签来重用layout代码,该标签在Android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:<com.android.launcher.Workspace android:id="@+id/workspace" android:layout_width="fill_pa

2017-05-22 21:59:40 503

原创 从setContentView开始,了解view的加载过程

疑问1:setContentView到底做了些什么,为什么调用后就可以显示出我们想要的布局页面? 疑问2:PhoneWindow倒是什么东西?Window和它是什么关系? 疑问3:DecorView是干什么用的?和我们的布局又有什么样的关系 疑问4:requestFeature为什么要在setContentView之前调用? 首先我们提出了以上几个疑问,在这里我一点需要说明,就是说大家在研读

2017-05-18 23:15:42 792

原创 js面向对象编程:if中可以使用那些作为判断条件呢?

在所有编程语言中if是最长用的判断之一,但在js中到底哪些东西可以在if中式作为判断表达式呢?例如如何几行,只是少了一个括号,真假就完全不同,到底表示什么含义呢 var obj={};obj.Funtext=function(){}; if(obj.Funtext) { alert("true obj.Funtext;"); } else {

2017-04-11 14:19:33 683

原创 从0开始学react netive:2.Javascript创建对象的方式_prototype原型的概念_原型继承

Javascript1,概述JavaScript一种直译式脚本语言,是一种动态类型、弱类型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape

2017-03-30 14:09:06 520

原创 从0开始学react netive:1.HTML块级元素_行内元素_CSS盒子模式_标签选择器

React Native优点 1.跨平台 2.高效 3.热更新 因为React Native用到前端的知识,可以去这个网站学习前端知识:http://www.w3school.com.cn网页前端编程基础1:概述工具:webstorm HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语

2017-03-30 13:42:18 2483

转载 解决:android studio2.2.3 卡死 ,卡在Gradle:Build Running的解决办法

Android stuido作为google主推的IDE,配合gradle编译,有很多的优点和便捷性。唯一使用过程中不舒服的地方就是莫名其妙的卡顿,经常在Gradle Build的时候卡死强制重启电脑,非常无语,我的机器是8G内存新机器也没开其他程序。总之非常编译速度很慢有时还会经常卡死。尝试了很多优化方案,卡死次数少了编译也快了不少。将我的发现和大家分享一下。如果是更新Gradle导致编译卡住,一

2017-03-02 14:00:33 1292

原创 解决dialog中嵌套EditText,自动弹出软键盘的问题

1.解决无法弹出输入法: 问题:自定义了一个dialog,无法自动弹出软键盘,影响体验。2.可以弹出输入法了,但了为了增强用户体验性,当dialog中含有editText时应该,在显示dialog的同时自动弹出键盘: (1) 可以在自定义的dialog中增加如下方法: public void showKeyboard() { if(editText!=null){

2017-02-17 11:48:33 2807

原创 解决问题The content of the adapter has changed but ListView did not receive a notification.

出现的问题: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI th

2017-02-16 12:35:03 693

原创 GitHub的使用教程之《注册账号》

一: 简介百度一下二:建立账号-注册完成之后进入这个页面 -点击右上角设置可以设置个人的邮箱和用户名一些基本概念Repository 仓库的意思,即你的项目,你想在 GitHub 上开源一个项目,那就必须要新建一个 Repository ,如果你开源的项目多了,你就拥有了多个 Repositories 。Issue 问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些

2017-02-12 17:11:01 7574

原创 解决:Android中常见的热门标签的流式布局flowlayout不能wrap_content

最近在项目中药使用流式布局,但是在网上找的都不能满足要求,这篇博客内容只支持match_parent,我改后的代码可以支持wrap_content,原文也仅仅是少加一行高度而已。。新博客希望大家多多评论。。原文链接一:概述:1.流式布局的特点以及应用场景 特点:当上面一行的空间不够容纳新的TextView时候, 才开辟下一行的空间 场景:主要用于关键词搜索或者热门标签等场景

2017-02-12 14:55:44 2710

原创 解决The following classes could not be foundandroid.support.v7.internal.app.WindowDecorActionBar

The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar (Fix Build Path, Create Class)Tip: Try to build the project.解决办法:这个问题的原因是studio成长中,Actionbar已经out了,它推荐你使

2017-02-11 16:19:12 619

转载 Android Studio 运行java程序

参考:http://blog.csdn.net/xiaxiayige/article/details/46706949目的有时候需要写点小测试程序,测试方法是否可靠,有效。需要写个Java测试程序测试,但是又不想去建立一个Android 工程。Android Studio 上运行纯java 程序不像Eclipse那样方便 但是Android Studio上面还是可以运行java 小程序的。步骤1

2017-01-12 17:38:20 322

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除