- 浏览: 34535 次
- 性别:
- 来自: 深圳
最新评论
-
whawei:
ActiveAndriodDemo 有工程源码吗?可否共享?
【原创】Active Android的一些见解与研究
文章列表
在项目中切换Fragment,一直都是用replace()方法来替换Fragment。但是这样做有一个问题,每次切换的时候Fragment都会重新实列化,重新加载一次数据,这样做会非常消耗性能用用户的流量。
官方文档解释说:replace()这个方法只是在上一个Fragment不再需要时采用的简便方法。
正确的切换方式是add(),切换时hide(),add()另一个Fragment;再次切换时,只需hide()当前,show()另一个。这样就能做到多个Fragment切换不重新实例化:
切换方法:
/**
* fragment 切换
*
* @p ...
出现错误
OutOfMemoryError: Java heap space gradle compiling android
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_91\bin\java.exe'' finished with non-zero exit value 3
项目根目录下面: gradle.properties
解决方案
# Project-wide Gradle settings.
# IDE (e.g. ...
修改android-studio/bin/studio.vmoptions studio64.vmoptions 两个文件的以下属性就可以了-Xms2048m-Xmx2048m-XX:MaxPermSize=2048m-XX:ReservedCodeCacheSize=1024m
我们在Android Studio中创建项目后往往会使用版本控制来控制代码,但是项目中哪些文件该提交到版本控制呢?
其实,Android Studio自己已经帮你做好了!
在Project和app下各有一个.gitignore文件,如下:
Project下的忽略文件:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
app文件夹下的忽略文件:
/build
以上可以看出:
所有的.iml文件都 ...
一、怎么用AS提交项目到Github?
主要参考了这篇文章:http://web.gxzj.com.cn/News.aspx?id=325505
有一些详细说明和补充如下:
下载Git 地址:http://www.git-scm.com/download/win
配置Git环境变量:在path中加入Git安装地址中的bin目录和git-core目录。我的是:C:\Program Files\Git\bin和C:\Program Files\Git\mingw64\libexec\git-core。
在cmd中设置git:git config --global user.e ...
Android内存泄漏分析及调试
- 博客分类:
- android日常细节
尊重原创作者,转载请注明出处:
http://blog.csdn.net/gemmem/article/details/13017999
此文承接我的另一篇文章:Android进程的内存管理分析
首先了解一下dalvik的Garbage Collection:
如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread stack中的变量,JNI中的全局变量,zygote中的对象(class loader加载)等,然后开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉 ...
一、概述
对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码。
对于MVP,我的内心有一个问题:
为何这个模式出来后,就能被广大的Android的程序员接受呢?
问了些程序员,他们对于MVP的普遍的认识是:“代码很清晰,不过增加了很多类”。我在第一次看到MVP的时候,看了一个demo,看完以后觉得非常nice(但是回过头来,自己想个例子写,就头疼写不出来,当然这在后文会说)。n ...
说明:由于很多系统不支持使用OpenJDK,因此在ubuntu下会需要安装Oracle JDK。而Oracle JDK的安装貌似没有提供apt方式,因此安装Oracle JDK的方式相对麻烦一些,我经常安装,为了方便别人同时方便自己查看,把它记下来。
第一步:区分32位还是64位操作系统
先确定你的ubuntu linux是32位还是64位的,方法很多,这里介绍一种即可。
$uname -a
第二步:卸载OpenJDK
先执行如下命令看是否安装了OpenJDK,如果已经安装,会显示java的信息。
$java -version
如果安装了OpenJDK,可用如 ...
Ubuntu 12.04右键在当前位置打开终端
- 博客分类:
- linux
软件中心:搜索nautilus-open-terminal安装
命令行:sudo apt-get install nautilus-open-terminal
重新加载文件管理器
nautilus -q
或注销再登录即要使用
网上教程很多,但都是介绍把整个android下载下来,这里分享一下下载指定android版本的方法。主要敲git的指令。
1.下载git
https://git-for-windows.github.io/
2.选择Git Bash, 按照下面指令
git clone --branch <tag_name> <repo_url> <target_path>
例如
https://android.googlesource.com/platform/frameworks/base/+refs
可用git指令
git clon ...
应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模 ...
android log.h 源码
- 博客分类:
- jni
/*
* Copyright (C) 2009 The Android Open Source Project
*
* 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/LIC ...
android jni.h源码
- 博客分类:
- jni
/*
* Copyright (C) 2006 The Android Open Source Project
*
* 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/LIC ...
1.适用场景
1) ContentProvider为存储和读取数据提供了统一的接口
2) 使用ContentProvider,应用程序可以实现数据共享
3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)
2.相关概念介绍
1)ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数 ...
Volley主页 https://android.googlesource.com/platform/frameworks/volley
http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded
1. 什么是Volley
在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台 ...