小编Ben*_*oot的帖子

如何加快Android Studio编译过程

最新更新: 查看Android Studio 2.0(预览版)即时运行它真棒!!!!

我发现了一些提示(通过Gradle和Android Studio构建和运行应用程序比通过Eclipse慢)来加速Android Studio(Gradle)的编译过程,但我仍然觉得它太慢了.编译项目并在设备上运行大约需要15秒.

gradle.properties已设置为:

org.gradle.daemon =真

org.gradle.parallel =真

编辑: 太棒了!!! 我的同事报告说Jack和Jill可能是解决方案:http: //www.infoworld.com/article/2856113/mobile-technology/androids-new-jack-and-jill-compilers-head-uphill-to-developers .html我正在读它.

查看此说明:https: //www.saikoa.com/blog/the_upcoming_jack_and_jill_compilers_in_android

编辑2: 杰克和吉尔的新信息!:http: //tools.android.com/tech-docs/jackandjill

编辑3: Android Studio 2.0似乎让我们摆脱了所有的负担!查看"即时运行". http://android-developers.blogspot.nl/2015/11/android-studio-20-preview.html

performance android gradle android-studio android-jack-and-jill

32
推荐指数
1
解决办法
2万
查看次数

如何在使用Retrofit时脱机时对API调用进行排队

我正在使用Retrofit与rx-java结合使用,并提出以下问题:

有没有办法在设备脱机时将API调用排队到服务器,以便在设备重新联机时可以触发它们.

android rx-java retrofit

9
推荐指数
1
解决办法
5879
查看次数

"获取时超时"URLFetch GAE/J.

我正在使用XMLReader来简单地读取如下所示的Feed.

URLConnection urlConnection = url.openConnection(); 
XmlReader reader = new XmlReader(urlConnection); 
Run Code Online (Sandbox Code Playgroud)

当调用它时,我会在5秒内收到IOException"提取时超时".所以我试着将超时设置为最大值.(10秒),但仍然没有运气,并且在5秒内仍然是IOExeption.

urlConnection.setConnectTimeout(10000); 
Run Code Online (Sandbox Code Playgroud)

(最大值在文档中说明:http://code.google.com/intl/nl-NL/appengine/docs/java/urlfetch/overview.html)

似乎饲料的尺寸太大.当我拨打较小的Feed时,它可以正常工作.有没有解决方法或解决方案?我需要能够调用更大的Feed.

java google-app-engine

8
推荐指数
1
解决办法
4068
查看次数

getDrawingCache始终返回相同的Bitmap

我目前正在开发一个需要显示带有灰色(黑/白)背景的对话框的项目.为了达到这个目的,我将截取屏幕截图和整个应用程序,将此屏幕截图放在全屏对话框的背景上,并在其上放置一个ColorFilter,使其变灰.

这是第一次完美的工作,但如果我滚动下面的内容并再次请求对话框,它会显示与之前相同的背景.

我用的代码是:

Bitmap bitmap;
View rootView = getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
rootView.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(rootView.getDrawingCache());
rootView.setDrawingCacheEnabled(false);
imageView.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)

换句话说,getDrawingCache()始终返回应用程序的相同屏幕截图.

android bitmap rootview

8
推荐指数
1
解决办法
1万
查看次数

由于Android 6.0监听PhoneStateListener.LISTEN_DATA_CONNECTION_STATE更改似乎不再需要READ_PHONE_STATE权限

我正在将Android 6.0运行时权限应用到监听运营商数据连接状态更改的应用程序中.我首先尝试从清单中删除READ_PHONE_STATE以检查应用程序需要权限的位置.令我惊讶的是,应用程序根本没有崩溃.

在此之后,我尝试在两个6.0之前的设备上进行相同的安装,这些设备实际上已经崩溃了.对我来说,似乎Android 6.0不再需要许可.有什么方法可以证实吗?

下面的行是6.0之前设备崩溃的行:

tm(TelephonyManager).listen(this, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
Run Code Online (Sandbox Code Playgroud)

android telephonymanager android-permissions phone-state-listener

8
推荐指数
1
解决办法
2387
查看次数

Dagger 2未检查警告

在我目前正在从事的项目中,我遇到了一些与Dagger 2相关的未经检查的警告。

为了排除与项目相关的因素,我尝试编译GitHub上提供的Dagger 2示例,它们还会引起这些未经检查的警告。见下文。

/MY_DIRECTORY/../DaggerApplicationComponent.java:28:警告:[未选中]未选中的转换

this.demoApplicationMembersInjector = DemoApplication_MembersInjector.create(((MembersInjector)MembersInjectors.noOp(),ProvideLocationManagerProvider);

必需:MembersInjector<Application>

找到:成员喷射器

显然,create方法需要使用MembersInjector,<Application>但是Dagger 2默认将传递的对象强制转换为MembersInjector

我想修复这些问题,以使日志保持干净,并且buildserver再次编译项目。

我正在使用的一些设置:

  • 针对Android 23版进行编译
  • Dagger版本2.0.1
  • Dagger编译器版本2.0.1
  • Javax注释jsr250-api版本1.0

java android lint unchecked dagger-2

6
推荐指数
1
解决办法
1816
查看次数

使用RxJava限制吞吐量

我现在进入的案例很难解释,因此我将编写一个更简单的版本来解释这个问题.

我有一个Observable.from()发出由文件定义的文件序列ArrayList.所有这些文件都应该上传到服务器.为此我有一个功能,完成工作并返回一个Observable.

Observable<Response> uploadFile(File file);
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,它变得疯狂,它会Observable.from()发出所有文件并将它们全部上传到一个文件中,或者至少可以处理它可以处理的最大线程数.

我希望最多同时上传2个文件.是否有任何操作员可以为我处理这个问题?

我尝试了缓冲区,窗口和其他一些,但它们似乎只发出两个项目,而不是经常上传两个并行文件.我还尝试在上传部分设置最大线程池,但这不能用于我的情况.

这个权利应该有一个简单的运算符吗?我错过了什么吗?

multithreading android functional-programming observable rx-java

6
推荐指数
1
解决办法
784
查看次数

HTTP音频流Android <3.0(Vitamio)

我想在Android 2.2及更高版本上通过HTTP(m3u8)播放流媒体音频.使用Android 3.0及更高版本,支持HTTP流,仅低于3.0,但不支持.

解决方案是在项目中使用Vitamio.但是,Vitamio要求用户从Play商店安装插件.

所以,我的问题: - 有没有办法将Vitamio插件嵌入到项目中? - 是否有其他解决方案用于设备<Android 3.0的HTTP流媒体?

android audio-streaming vitamio

3
推荐指数
1
解决办法
4002
查看次数

避免UIWebView加载iTunes App

如何在加载iTunes URL时避免UIWebView打开iTunes App?

示例网址:http://itunes.apple.com/nl/app/bluppr-postcards/id348147229?mt = 8

以上URL直接加载iTunes App.UIWebViewDelegate似乎无法控制它只是在UIWebView中加载页面.

它似乎由JavaScript函数detectAndOpenItunes()控制; 在页面的body标签中.

有任何想法吗?

javascript iphone objective-c uiwebview uiwebviewdelegate

2
推荐指数
1
解决办法
1938
查看次数