小编Pro*_*uce的帖子

Android垃圾收集器的技术细节

当我正在研究各种移动平台的共性/差异时,正在研究的一个方面是内存管理.因此,我对各种机制的更详细的技术信息感兴趣.

具体来说,例如Android使用哪种垃圾收集器类型
([Google Groups Discussion]建议它使用"跟踪"机制 - 但我很欣赏我可以引用的"更官方"来源,并希望在那里找到类型可能对程序员产生影响的信息.

我的问题还在于,Android 3.0(Honeycomb)中的GC如何被专门调整以利用多个处理器的
[Android Devevelopers Guide]建议

Android 3.0是该平台的第一个版本,旨在在单核或多核处理器架构上运行.Dalvik VM,Bionic库和其他地方的各种变化增加了对多核环境中对称多处理的支持.这些优化可以使所有应用程序受益,即使是那些单线程的应用程序.例如,如果Dalvik垃圾收集器在第二个核心上运行,则使用两个活动核心,单线程应用程序可能仍会看到性能提升.系统会自动安排."

和以前一样,我宁愿找到一个有更多技术信息的来源来阅读.同样,对开发人员的影响是什么(除了明显可以提高性能之外)?

任何此类输入都表示赞赏.

谢谢!

multithreading android garbage-collection android-3.0-honeycomb

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

为什么android无法找到com.google.gson.Gson

我正在尝试在我的项目中使用GSON,但是我的应用程序崩溃了,logcat说无法找到com.google.gson.Gson.我已经把进口com.google.gson.Gson我的类文件,我已经在GSON我的包管理器,并通过右键添加它 - >构建路径 - >添加库.它还显示在Project-> properties-> java build path-> libraries tab-> gson中.我做错了什么?

eclipse android gson

26
推荐指数
3
解决办法
4万
查看次数

使用v4 Fragments API实现ActionBar选项卡

我的应用程序目前正在使用Fragments/v4兼容包来支持Android版本,一直到1.6.这意味着我的所有Fragment都继承自兼容包的版本Fragment.我目前正在尝试重做部分应用程序以利用Honeycomb功能,例如ActionBar.

我已经在3.0之前的设备上使用了我自己的动作栏实现,否则就使用了Honeycomb Action Bar.这个位不是问题.

我遇到的问题是尝试使用ActionBar实现标签.ActionBar.TabListener期望本机FragmentFragmentTransaction类工作 - 所以尝试使用我的Fragment类(继承自兼容性库)不会编译.

因此,没有任何人有任何想法如何,我可以用使用的兼容包版本碎片FragmentActionBar标签?

tldr:如何将ActionBar选项卡与从v4兼容性库继承的片段一起使用?

tabs android android-3.0-honeycomb android-actionbar

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

无法单击自定义操作视图

我想自定义添加ActionView到我的ActionBar.

我想添加常用的刷新按钮.(ImageButton,ProgressBar在里面FrameLayout)但如果​​我使用的ActionView onOptionsItemSelected()是从未被调用过的.

这是代码:

在我的Activity:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.messages_actionbar, menu);
mRefreshView = (RefreshView) menu.findItem(R.id.messages_refresh).getActionView();

return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

messages_actionbarsrc:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/messages_refresh"
        android:title="title"
        android:icon="@drawable/icon"
        android:showAsAction="always"
        android:actionViewClass="com.blabla.RefreshView"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

RefreshView的代码:

public class RefreshView extends FrameLayout {

    private ImageView mButton;
    private ProgressBar mProgressBar;
    private boolean mLoading;

    public RefreshView(Context context) {
        super(context, null);
        initView(context);
    }

    public RefreshView(Context context, …
Run Code Online (Sandbox Code Playgroud)

android actionview android-3.0-honeycomb

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

窗口小部件预览保存位置

我使用默认的"小部件预览"应用程序在Honeycomb模拟器中截取了我的应用程序小部件的屏幕截图,但我不知道图像保存在哪个位置.我一直在寻找使用adb shell命令以及查看Gallery应用程序,但我一直无法找到它.我可以通过电子邮件发送或发送彩信,但我想我不需要在模拟器上设置邮件帐户.

是否有一种简单的方法来获取我错过的图像,或者我是否真的需要在模拟器上设置邮件帐户?

提前致谢.

android android-3.0-honeycomb android-appwidget

22
推荐指数
2
解决办法
4201
查看次数

没有视图的片段在配置更改时崩溃

我有一个UI,我需要Fragment在横向模式下显示(带有视图),但不能在纵向模式下显示.在纵向模式下,它应该仍然可用,但会使用ListPopupWindow相反的方式显示其结果.

我想我可以通过使用<fragment />横向布局的标签来处理这个问题,同时如果它没有启动(在我们是肖像的情况下)以编程方式创建片段.

只要从横向开始,这种方法就可以正常工作,如果以纵向方式开始,以编程方式创建片段,当您尝试将片段附加到布局时旋转模拟器时,应用程序将崩溃:

java.lang.IllegalStateException:Fragment没有创建视图.在android.app.Activity.onCreateView(Activity.java:4095)

这些文档Fragment.isInLayout()似乎暗示它应该能够以这种方式处理它:

如果布局通过标记包含在活动视图层次结构中,则返回true.当通过标记创建片段时,这将始终为真,除非旧片段从先前状态恢复且未出现在当前状态的布局中.

所以问题是如何正确地做到这一点,或者是否有我遗漏的东西?

更新:

似乎不像isInLayout()现在这样表现.如果已Fragment手动将a 添加到容器,则返回false .

此外,如果您Fragment手动添加到容器,然后将(设备)旋转到不包含该布局的布局,它将崩溃:

引起:java.lang.IllegalArgumentException:在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:722)中找不到片段SearchFragment {4042f868#2 id = 0x7f060011 SearchFragment}的id 0x7f060011的视图

java android android-fragments android-3.0-honeycomb

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

根据android版本更改主题

我准备我的应用程序与蜂窝平稳工作.关于android主题,我有一个小美学问题.

对于蜂窝,建议使用以下主题.

android:theme="@android:style/Theme.Holo.Light" 
Run Code Online (Sandbox Code Playgroud)

如何在以前的版本中使用其他主题时,如何让我的应用程序使用?

提前致谢

android android-3.0-honeycomb

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

自定义首选项,targetSdkVersion ="11":缺少缩进?

我有几个自定义DialogPreference实现,例如这个:

package apt.tutorial;

import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.TimePicker;

public class TimePreference extends DialogPreference {
    private int lastHour=0;
    private int lastMinute=0;
    private TimePicker picker=null;

    public static int getHour(String time) {
        String[] pieces=time.split(":");

        return(Integer.parseInt(pieces[0]));
    }

    public static int getMinute(String time) {
        String[] pieces=time.split(":");

        return(Integer.parseInt(pieces[1]));
    }

    public TimePreference(Context ctxt) {
        this(ctxt, null);
    }

    public TimePreference(Context ctxt, AttributeSet attrs) {
        this(ctxt, attrs, 0); …
Run Code Online (Sandbox Code Playgroud)

android android-preferences android-3.0-honeycomb

18
推荐指数
2
解决办法
4715
查看次数

将100个活动应用程序移植到碎片而不会死亡

我为银行开发了一个巨大的应用程序.该应用程序使用户能够通过电话执行大量操作(国内和国际转移,证券,股票市场价值,警报,存款,卡更改,卡激活,支票等).

所有应用程序都运行Android本机代码,每个屏幕都是一个Activity.

现在我们正在转向Fragments ......基于这些教程,我可以继续这样 ......我甚至已经优化了它们的流程.

但是,根据他们的建议,我将不得不创建大约100个新的Fragment类; 切换我在每个屏幕活动上的代码,并将其放在新的每个屏幕片段类中; 更新大约100个布局; 最后更新屏幕触发新屏幕的方式(使用FragmentManager而不是Intents).

也许并不困难,但繁琐乏味.

我的问题是,有人知道将100个活动应用程序移植到Fragments的快速方法比提到的教程更快吗?

谢谢

port android android-fragments android-3.0-honeycomb android-activity

18
推荐指数
1
解决办法
1808
查看次数

是否可以使用Honeycomb(Android 3.0)从平板电脑运行R?

我有一个Xoom平板电脑,如果我可以使用R进行统计分析,那就太棒了.据我所知,由于许可证问题(GPl x iTunes等)以及苹果平板电脑中缺少Fortran编译器,因此无法在iPad上使用R.

但是使用Android的平板电脑怎么样?可以说,GPL问题不是问题,所以有关如何在平板电脑上使用R的任何帮助吗?

android r tablet android-3.0-honeycomb

17
推荐指数
3
解决办法
2万
查看次数